Online Compiler C

#include <stdio.h> int main() { int n; scanf("%d",&n); while(n>0){ int digit=n%10; if(digit%2!=0){ printf("NO"); return 0; } n=n/10; } printf("YES"); return 0; }
这段代码的功能是:读入一个整数,检查它的每一位数字是否都是偶数。如果所有位都是偶数,输出"YES";如果某一位是奇数,立即输出"NO"并结束程序。

- 你的代码逻辑是正确的,但有一个小问题:当输入的数字是0时,循环不会执行,直接输出"YES"。但0本身是偶数,所以输出"YES"是合理的。不过,如果题目要求处理负数,你的代码没有考虑,因为`n>0`的条件会跳过负数。
- 另外,如果输入的数字包含前导零(比如输入0123),`scanf`会将其读为123,前导零不会被处理。这通常不是问题,但需要注意。