gpt4 book ai didi

c - 为什么用来保存getchar返回值的变量必须声明为int?

转载 作者:太空狗 更新时间:2023-10-29 16:32:12 27 4
gpt4 key购买 nike

我是C语言初学者,最近研究了getchar函数,它可以从控制台或文件中接受一个字符,在输入时立即显示出来 我们需要按 Enter 键才能继续。

它返回他们读取的unsigned char。如果遇到文件结尾或错误,getchar() 函数返回 EOF。

我的问题是,当它返回unsigned char时,为什么它的返回值存储在int变量中?

请帮帮我。

最佳答案

正是因为那个 EOF 值。因为文件中的 char 可能是任何可能的 char 值,包括 C 字符串用于终止的空字符,getchar() 必须使用更大的整数类型来添加 EOF 值。

它只是碰巧为此目的使用了 int,但它可以使用至少 9 位的任何类型。

关于c - 为什么用来保存getchar返回值的变量必须声明为int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18013167/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com