返回值代表的是正确匹配的参数个数如果只读到一个EOF,则返回值为EOF int a; while(scanf("%d", &a)==EOF)break; int a; while(~scanf("%d", &a)) 都可以代表如果数据读取完成,跳出循环。