Why are islower()
以及需要处理的朋友EOF
, 然而putchar()
朋友们不需要吗?
为什么不是islower()
治疗int
as unsigned char
,就像情况一样putchar()
?这是完全有道理的,因为我们必须检查EOF
无论如何首先。也可以看看为什么参数类型为putchar(), fputc(), and putc() is not char? /q/40712493/
因为无论如何我们都必须先检查 EOF。
我们绝对不这样做。
int c;
while(isspace(c=fgetc(fp)));
if (c==EOF) ...
这是跳过空格的完全合法的代码。单独检查每个字符的 EOF 是浪费时间。
ctype 函数专门用于处理 EOF,以启用这样的代码。
也可以看看这个问题 https://stackoverflow.com/questions/11623978/why-do-ctype-functions-take-int-but-want-unsigned-char-eof.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)