我知道这是一个愚蠢的问题,但是我不明白这个问题。有人可以向我解释吗?
我知道一个char是1个字节。我创建了一个文件sample.txt并填写"1234"
我用fseek和ftell打印文件大小。输出为 4个字节。这意味着字符串"1234"
中的每个字符都是 1个字节。
但是当我这样写printf("%d", sizeof('4'));
时,输出为4。因此,char 4
的存储空间为 4个字节。
那么从文件读取的char 4
和源代码中的char 4
有什么区别?
***我的问题在这里被标记为重复: Why are C character literals ints instead of chars?
但是不是。另一个主题没有解释为什么计算机将文件中的char分别视为1个字节。