Online Compiler C

#include <stdio.h> int main() { int a; scanf("%d", &a); int n=a%10; while(a!=0) { a=a/10; if(n==a%10)printf("YES"); break else n=a%10 } return 0; }
这段代码试图检查一个整数中是否有相邻的相同数字,但存在语法错误和逻辑问题。

- 第11行 `break` 后面缺少分号,而且 `break` 的位置会导致循环只执行一次就退出,无法正确检查所有相邻数字。
- 第12行 `else n=a%10` 也缺少分号,并且 `else` 分支的赋值逻辑有误:你需要在每次比较后更新 `n` 为当前数字,但当前写法会导致比较顺序混乱。