#include <stdio.h>
#include <string.h>
main()
{
printf("%d \n ",sizeof(' '));
printf("%d ",sizeof(""));
}
输出:
4
1
为什么第一个 printf 的 o/p 是 4 而且如果我给它作为 '' 它显示错误为错误:空字符常量但是对于双引号空白即没有任何空格很好没有错误?
最佳答案
' '
是整型字符常量的例子,它的类型是int
(它没有被转换,它有强>这种类型)。第二个是 ""
character literal,它只包含一个字符,即 null character,因为 sizeof(char)
是保证为1
,整个数组的大小也为1
。
关于C:sizeof()相关疑惑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24803227/