Online Compiler C

#include <stdio.h> int main() { int n; int cnt=0; while (1) { scanf("%d", &n); if (n==0),break; cnt++; } printf("%d", cnt); return 0; }
这段代码试图从输入中读取整数,并在遇到0时停止,然后输出读取的非零数字个数。但代码中存在语法错误。

- 第9行 `if (n==0),break;` 中的逗号是错误的,C语言中if语句的条件后面应该直接跟语句,不能使用逗号分隔。这里应该使用分号或花括号来正确组织语句。
- 另外,`scanf`的返回值没有被检查,如果输入不是整数可能导致程序行为异常,但这不是当前的主要问题。