#include<stdio.h>
int main()
{
char ch = 'A';
printf("%d\n",'ag');
printf("%d\n",'a');
printf("%d, %d, %d, %d", sizeof(ch), sizeof('a'), sizeof('Ag'), sizeof(3.14f));
return 0;
}
在 g++ 和 gcc 上运行时,我曾经对这个问题的输出有很多疑问。
但是我通过参考这些链接消除了几乎所有的疑虑:
关于这个问题的输出,我仍然需要了解一件事。
有人可以printf("%d\n",'ag');
在程序中解释上面提到的输出吗?它实际上是如何存储在内存中的?
该程序在 Linux/GCC 平台上的输出是:
24935
97
1, 4, 4, 4