c - sizeof ('z' ) 结果意外

标签 c sizeof

<分区>

Possible Duplicate:
Size of character ('a') in C/C++

为什么这个程序输出 4 而不是 1?

void main()
{
   printf("%d",int(sizeof('z')));
}

'z' 是一个字符并且 sizeof('z') 必须打印 1?

最佳答案

'z' 是字 rune 字,在 C 中,字 rune 字的类型是 int。所以 sizeof('z') 在您的实现中等于 sizeof(int)

关于c - sizeof ('z' ) 结果意外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6163776/

相关文章:

c - (int) sizeof(void *) 和 int 有什么区别?

c - 无法确定汇编语言的返回值

c# - 如何将 C# 中的正则表达式代码转换为 C++

c - 是否有现代目标/编译器的任何示例,其中打破 C 中的严格别名会影响程序结果?

c++ - 英特尔线程 C API

c - 为什么 sizeof(array) 和 sizeof(&array[0]) 给出不同的结果?

c - 查找输入 char* 的大小并将部分复制到输出 char* C

c - 不同机器上C数据类型的大小和sizeof(complex long double)

c - 除非在使用输出重定向时调用显式 fflush 函数,否则线程不会给出输出

c++ - 数组 C++ 中每个 boolean 值 1 位