我明白,如果我这样做,存储并打印出“a”和“A”
char a= 'a';//gets stored as a 1 byte char
而且"a"
意味着2个字节的字符串\0
它的最后一个字节。
如果我游程
int main(void) {
char a= "a";
printf("\n\r%c", a);
return 0;
}
它输出 - @
,如果我跑
int main(void) {
char a= 'a';
printf("\n\r%c", a);
return 0;
}
它输出 - 一个
我得到预期的第二种情况,我只是好奇,为什么我会在第一个案件中获得@?
编译警告。 – Max