while(scanf(“%d%c%c”,&n,&a,&b)==3)与 while(scanf(“%d%c%c”,&n,&a,&b)!=EOF)的区别
函数scanf和printf实际上是有返回值的,而他们的返回值就是输入和输出的字符数.
- while(scanf(“%d%c%c”,&n,&a,&b)==3)代表输入的数据项数为3时执行循环;
- EOF是end of file的缩写,表示”文字流”(stream)的结尾。这里的”文字流”,可以是文件(file),也可以是标准输入(stdin);EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。while(scanf(“%d%d%d”,&n,&k,&m)!=EOF)
scanf返回的是成功读取并存储的变量的个数,当读到文件末尾的时候返回EOF,所以这个循环就是在读取到文件末尾为止前一直执行循环的意思