Vòng lặp in ra các số chẵn nhỏ hơn a bị bug

Em việt 1 đoạn lệnh cho nó in ra các số chẵn i nhỏ hơn a nhưng khi chạy bị bug ạ.
Anh chị giúp em với ạ!

#include<stdio.h>
int main()
{	
    int a, i=0;
    printf("nhap gia tri a = ");
    scanf("%d", &a);
    while(i%2 == 0 && i<a){
    	printf("\nso chan i = %d\n", i);
    	++i;
    }
    return 0;
}

In ra có 1 dòng i = 0 thôi chứ gì. Xem lại điều kiện tại while.

2 Likes

em nghĩ không ra ạ @@

Khi i tăng lên (i++) =1 thì đk i%2==0 sai (false) => kết thúc vòng lặp.

3 Likes

phải là

while (i < a) 
{
      if (i % 2 == 0) 
     {
        //code here 
     }  
     // code here
} 

mới đúng chứ bạn ?

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?