未知循环输入数据次数,如何结束循环

  通过while(Scanf()!=EOF)可实现在未知循环输入次数的情况下通过scanf()函数返回值或Ctrl+Z结束循环。

  在C语言中,scanf()函数是有返回值的,其返回值与参数个数有关。假设scanf()函数有n个参数,返回值为其正确输入的参数个数:即若n个参数全部正常输入,则返回值为n。需要注意的是,scanf()中从第一错误输入的参数开始后的所有参数均输入错误。例如scanf("%d %d %d",&a,&b,&c);中,若输入为 “1 * 4”,尽管c的输入格式正确,也视为错误输入,返回值为1。当所有输入均错误时,scanf()返回值0,则while()结束。

  EOF:end  of file。文件结束标志,表示一种状态(文件或标准输入的结尾),可被在stdio.h中被定义为-1。而Ctrl+Z在Windows的cmd.exe 和dos的command.com中被解释为EOF。所以,输入Ctrl+Z也会使循环结束。

posted @ 2017-09-21 00:24  木小猪  Views(1138)  Comments(0Edit  收藏  举报