C语言 为什么 getchar() 的返回类型是 int?



我在互联网上搜索了答案,但我不明白这个"EOF"是什么? 请从基本开始告诉我什么是getchar()以及它的用途是什么? 请注意,我只是C语言的初学者。

在 C 中,charint之间真的没有区别。甚至字符文字,例如'A',几乎普遍晋升为int

最重要的是,EOF是一个int值。如果char是无符号的(如果char是有符号的或无符号的,它是特定于实现的),那么当char-1提升到int时,它就会变成0x000000ff,这与0xffffffffint-1非常不同(假设正常的二进制补码系统)。

最新更新