彭尼玛 发表于 2018-10-9 16:43:17

为什么fgetc停不下来!??



突然今天想试试读取一篇文章里的字数,然后选择了fgetc这个函数,
然后发现第一张图是char,因为if那边的isalpha读取不了汉字的逗号,所以就GG,后面我换成了
unsigned char 却出现了无限循环,然后我调试了一下,发现是因为读到末尾之后全都变成了这个叫 255的字符……

当然,我可以用c!=255来限制他出循环
但是就是突然有个疑问。。。
为什么明明已经读到了末尾,可是fgetc还是继续判断下去了呢??

读一篇文章,用char,只要没有 isalpha这个来判断,就可以正常进行!
加了 unsigned char 就无限循环。。。搞不懂,这个fgetc到底是啥情况


claws0n 发表于 2018-10-9 19:31:23

int c; 试试

彭尼玛 发表于 2018-10-10 19:18:27

claws0n 发表于 2018-10-9 19:31
int c; 试试

可以诶,这是为啥子捏?

claws0n 发表于 2018-10-10 19:20:02

彭尼玛 发表于 2018-10-10 19:18
可以诶,这是为啥子捏?

EOF 是 int 型的,C语言的大坑{:10_282:}

彭尼玛 发表于 2018-10-10 19:31:33

claws0n 发表于 2018-10-10 19:20
EOF 是 int 型的,C语言的大坑

emmmm我的天,对诶
页: [1]
查看完整版本: 为什么fgetc停不下来!??