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

时间:2020-02-21 05:27:48

标签: c char int return-type getchar

我在互联网上搜索了答案,但我不明白这是什么“ EOF”? 请让我从基本的角度了解什么是getchar()及其用途? 请注意,我只是C语言的初学者。

1 个答案:

答案 0 :(得分:0)

在C语言中,charint之间确实没有区别。甚至字符文字,例如'A',几乎被普遍提升为int

但是 最重要的是EOF是一个int值。如果char是无符号的(如果char是有符号的或无符号的,则是特定于实现的),那么当char-1提升为int时,它将变成{{ 1}},与0x000000ff的{​​{1}}值int(假设正常的二进制补码系统)有很大的不同。