面试题:C语言中 printf("%d",sizeof('c')); 结果为什么是4?

发布时间 2023-06-15 12:44:08作者: 跟Tom学编程-一对一

在C语言中,sizeof运算符用于获取数据类型或变量的字节大小。当您使用sizeof('c')时,它会返回字符常量'c'的字节大小。

在C语言中,字符常量的类型是int,而不是char
尽管字符常量表示一个字符,但它实际上是以整数形式存储的。
因此,sizeof('c')将返回4
'c'字符常量的字节大小,
这是因为int类型在许多平台上通常占用4个字节。

如果您想获取char类型的大小,可以使用sizeof(char)
根据C语言规范,sizeof(char)的结果始终为1,
因为char类型始终占用1个字节。

要打印字符的大小,请改为使用sizeof(char),例如:

printf("%zu", sizeof(char));

这将打印出1,表示char类型的大小为1字节。