我有以下代码:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char * argv[]){
printf("size of tab = %d\n", sizeof('\t'));
printf("size of a = %d\n", sizeof('a'));
printf("size of char = %d\n", sizeof(char));
}
输出:
size of tab = 4
size of a = 4
size of char = 1
为什么'a'
的大小和char
的大小不同。不是'a'
一个char
吗?
答案 0 :(得分:1)
'a
是包含字符a
的int。
看看这些表达式的值:
sizeof((char) 'a');
char a = 'a';
sizeof(a);