Online Compiler C

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

- 第11行 `else {printf("NO")};` 缺少分号,应该写成 `printf("NO");`。
- 循环条件 `while(n>=2)` 会导致无限循环,因为循环体内没有改变 `n` 的值,而且每次只检查最后两位数字,没有处理整个数字。
- 程序只检查了最后两位数字(`n%10` 和 `n/10%10`),但没有移动数字位置来检查其他相邻位。