Hỏi về lệnh điều kiện if

Mọi người cho em hỏi cái phần if trong mảng có nghĩa là gì vậy ạ if (a[i] % 2 != 0).

void XuatMang(int a[],int n)
{
	for(int i=0;i<n;i++)
	{
		if (a[i] % 2 != 0)
		{
			printf("\t%d",a[i]);
		}
	}
}

Bạn có biết phép toán chia lấy dư (%) không?

Hàm XuatMang() sẽ chỉ in ra số lẻ.

3 Likes

chia cho 2 rồi lấy số dư,còn cái phủ định = 0 là s ạ

Nếu đó là số chẵn thì khi % 2 sẽ bằng 0.
Ngược lại, nếu đó là số lẻ, % 2 sẽ bằng 1.

% 2 != 0 tức là kết quả chia lấy dư cho 2 khác 0 => những giá trị nào khác 0 => đó là số 1.
Trong trường hợp này, có thể viết % 2 == 1 cho dễ hiểu.

5 Likes

cảm ơn ạ :slight_smile:

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