Online Compiler C

#include <stdio.h> int main() { int a; scanf("%d", &a); while (a > 0) { int d = a % 10; if (d == 9) cnt++; a = a / 10; } if (cnt == 1) printf("YES"); else printf("NO"); return 0; }
这段代码试图判断一个整数中是否恰好包含一个数字9。但代码中有一个关键问题:变量 `cnt` 没有被声明和初始化。

- 变量 `cnt` 在使用前必须声明,比如 `int cnt = 0;`。否则编译会报错。
- 另外,`cnt` 的初始值应该设为0,否则累加的结果不可预测。