【问题标题】:Why the return type of getchar() is int? [duplicate]为什么 getchar() 的返回类型是 int? [复制]
【发布时间】:2025-12-11 03:15:01
【问题描述】:

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

【问题讨论】:

标签: c char int return-type getchar


【解决方案1】:

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

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

【讨论】:

    最近更新 更多