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

#include <stdio.h> int main() { int input,nozero=0; while(1) { scanf("%d",&input); if(input>0) nozero++; } printf("%d",nozero); return 0; }
这段代码会不断读取整数,并统计其中正数的个数,但程序永远不会停止,因为循环条件是 `while(1)`,没有退出条件。

- 你的循环缺少一个终止条件。比如,当输入某个特定值(如0或负数)时,应该用 `break` 跳出循环。
- 注意题目要求:如果输入0,应该停止输入并输出结果。你的代码中 `if(input>0)` 只统计正数,但0没有触发任何操作,导致循环无限继续。