#include <stdio.h>
#include <string.h>
int main()
{
char a=' ';
printf("%d\n",sizeof(a));
printf("%d\n",sizeof(" "));
printf("%d\n",sizeof(' '));
}
第一个printf是字符型的空格 占一个ASCII,这样理解对吗
第二和第三个printf分别是因为什么输出的2和4啊
#include <stdio.h>
#include <string.h>
int main()
{
char a=' ';
printf("%d\n",sizeof(a));
printf("%d\n",sizeof(" "));
printf("%d\n",sizeof(' '));
}
第一个printf是字符型的空格 占一个ASCII,这样理解对吗
第二和第三个printf分别是因为什么输出的2和4啊
第一个类型是char,所以是1个byte,这没问题
第二个类型是string,所以空格后面还有个不可见字符\0,所以是2bytes
第三个是字符型常量,常量占4字节