这段代码的作用是:从输入中读取整数,每读到一个非零值就将计数器b加1,直到读到0为止,最后输出非零数字的个数。 代码有一个关键问题:第一个`scanf`读取的值被直接丢弃了,没有计入计数器。 - 第一个`scanf`读取的值没有被处理,如果第一个数不是0,它应该被计数,但代码中直接跳过了。 - 循环条件中的逗号表达式会先读取新值赋给a,再判断a是否为0,这意味着每次循环开始时读取的新值才会被判断,而之前的值已经处理过了。
Copy this url:
QR-code: