Онлайн компилятор C

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

- 第11行 `int x==1;` 是错误的语法,`==` 是比较运算符,不能用于赋值。这里应该使用赋值运算符 `=` 来修改变量 `x` 的值。
- `break;` 的位置不对,它不在 `if` 语句内部,导致循环在第一次迭代后立即退出,无论数字的个位是否为奇数。你需要确保 `break` 只在找到奇数位时执行。