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

#include <stdio.h> int main() { int n, p, cymma=0; scanf("%d", n); while(n>0){ p=n%10; n=n/10; cymma=p+cymma; } if (cymma == 10 ){ printf("YES"); } else { printf("NO"); } return 0; }
这段代码试图判断一个整数各位数字之和是否等于10。但代码中存在一个关键错误,导致程序无法正常运行。

- 第5行的 `scanf("%d", n);` 中,`n` 前面缺少取地址运算符 `&`。`scanf` 需要变量的地址才能正确存储输入值,否则会导致程序崩溃或未定义行为。

- 变量名 `cymma` 可能是拼写错误,但这不是功能性问题,只是可读性稍差。