gpt4 book ai didi

c - 为什么 EOF 与有效的 char 值一致?

转载 作者:太空宇宙 更新时间:2023-11-04 08:10:47 24 4
gpt4 key购买 nike

<分区>

正如这个问题的答案评论中所说:Why gcc does not produce type mismatch warning for int and char?

both -1 and 255 are 0xFF as 8 bit HEX number on any current CPU.

但是 EOF 等于 -1。这是矛盾的,因为 EOF 的值不能与任何有效的 8 位字符重合。这个例子演示了它:

#include <stdio.h>
int main(void)
{
char c = 255;
if (c == EOF) printf("oops\n");
return 0;
}

在我的机器上它打印oops

如何解释这个矛盾?

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