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

#include <stdio.h> int main() { int num, count = 0; scanf("%d", &num); while (num != 0) { count++; scanf("%d", &num); } printf("%d", count); return 0; }
这段代码的功能是:从输入中不断读取整数,直到遇到0为止,然后输出读取的非零整数的个数(不包括最后的0)。

- 代码中第一个 `scanf` 读取的数也被计入 `count`,但题目要求可能只统计非零数,这里逻辑正确。
- 注意:如果输入的第一个数就是0,那么循环不会执行,`count` 保持为0,输出0,这是合理的。

- 提示1:检查一下,如果输入的第一个数是0,程序会输出什么?是否符合预期?
- 提示2:思考一下,如果输入中连续出现多个0,程序的行为是否仍然正确?