为什么要用两个scanf?

img


这里在while前用了一次scanf(“%d”,&N),为什么还要在while里再用一次?

因为要循环输入啊.题目应该是输入一堆整数,如果小于0就结束,统计其中奇数的总和吧
whlie只是检查值得有效性,所以整数的输入需要由循环内来不断输入

题目是什么呢

这个题目计算了 你输入N个数,然后计算N个数里面所有奇数的和
第一个 scanf 表示输入几个数,第二个 scanf表示 输入哪些数

如果while里没有scanf的话,循环就会成为死循环,而且每次循环的运行都在累加一个相同的N值,而在while里加上一个scanf可以控制程序跳出while循环,比如输入-1就会跳出来。

你可以把while循环改成如下形式,这样只需要一个scanf

while (sanf("%d", &N) == 1 && N > 0)

改成 do while循环j就只要一个scanf