理解C中的sizeof运算符

Ani*_*aul 5 c sizeof

char c = 'A';
printf("%d\n",sizeof(c));// output = 1
printf("%d\n",sizeof('A')); // output = 4
Run Code Online (Sandbox Code Playgroud)

为什么sizeof操作员为同一个字符提供不同的输出?请帮忙

use*_*751 6

c是一个类型的变量char; 它的大小是1个字节.

'A'是一个int字面意思 - 不要问我标准为什么这么说.它的大小在您的平台上是4个字节(与之相同sizeof(1)).