while()中的内容什么意思?为什么要这么写?

img

表示没有遇到文件尾则继续循环
一般会用另一种写法: while(scanf("%f",&score) != EOF)
意思都是只要有数据输入,就一直循环。当遇到文件尾时结束循环

while(scanf("%f",&score)==1)这里是判断scanf是否读取成功。
scanf函数返回值的含义是:正确的读取了多少个数,这这个题目里,一次只需要读取一个数,所以,如果读取成功,就返回1。所以在while的条件表达式中,通过 scanf("%f",&score)==1来判断是否正确的读取了一个浮点数。如果读取成功,就执行{}循环体,否则就结束循环。