Online Compiler C

#include <stdio.h> int main() { int a; scanf("%d", &a); while (a != 0) { int n = a % 10; if (n / 2 == 0) a = a / 10; else printf("NO") return 0; } printf("YES"); return 0; }
这段代码试图判断一个整数是否所有数位都是偶数,但存在语法错误和逻辑问题。

- 第10行 `printf("NO") return 0;` 缺少分号,导致编译错误。每个语句末尾都需要分号。
- 判断数字是否为偶数的条件 `n / 2 == 0` 不正确。对于个位数n,n/2等于0只有当n是0或1时成立,而不是判断偶数。应该使用取模运算符 `%` 来检查n是否能被2整除。