为什么不能直接将getc(stdin) !=EOF做比较?
而是要写成
int ch;
ch=getc(stdin) !=EOF;
getc()的返回值不就是整形吗?
而是要写成
int ch;
ch=getc(stdin) !=EOF;
getc()的返回值不就是整形吗?
解决方案
5
怎么不能?谁说不能了?
5
能,但是输出不仅仅是为了检测能否EOF 的吧
假如,不是EOF总得做点什么吧
那么,用一个变量存储getc的返回值,不就很自然了么?
假如,不是EOF总得做点什么吧
那么,用一个变量存储getc的返回值,不就很自然了么?
5
输出–>输入
10
它喜欢写成那样。
不代表getc(stdin) !=EOF就不行
不代表getc(stdin) !=EOF就不行
40
题主这种也可以
另外ch=getc(stdin) !=EOF; ch得到的是比较后的布尔值
而 (ch=getc(stdin)) !=EOF 是让ch等于函数返回值,再与EOF比较
另外ch=getc(stdin) !=EOF; ch得到的是比较后的布尔值
而 (ch=getc(stdin)) !=EOF 是让ch等于函数返回值,再与EOF比较