<分区>
我写了一个小的 printf 语句,它在 C 和 C++ 中的工作方式不同:
int i;
printf ("%d %d %d %d %d \n", sizeof(i), sizeof('A'), sizeof(sizeof('A')), sizeof(float), sizeof(3.14));
上述程序使用 gcc 编译器在 c 中的输出是 4 4 8 4 8
使用 g++ 编译器在 c++ 中上述程序的输出是 4 1 8 4 8
我预计 4 1 4 4 8 在 c 中。但结果并非如此。
printf sizeof(sizeof('A')) 中的第三个参数给出 8
谁能告诉我这是怎么回事