面试题:C语言中 printf("%d",sizeof('c')); 结果为什么是4?
在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)`,例如:
```c
printf("%zu", sizeof(char));
```
这将打印出`1`,表示`char`类型的大小为1字节。