Online Compiler C

#include <stdio.h> int main() { int input, nozero = 0; while (1) { scanf("%d", &input); if (input > 0) nozero++; else break; } printf("%d", nozero); return 0; }
这段代码的功能是:从输入中不断读取整数,统计其中正数的个数,直到遇到一个非正数(0或负数)时停止,最后输出统计结果。

- 代码中的 `while(1)` 循环会一直读取输入,但遇到非正数时通过 `break` 退出。注意 `scanf` 的返回值没有被检查,如果输入不是整数可能导致问题。
- 题目可能要求统计所有正数,但当前代码在遇到0或负数时立即停止,而不是跳过它们继续读取。请确认题目是否要求遇到0或负数时结束输入,还是应该忽略非正数并继续读取。