我编写了一个小的printf语句,它在C和C++中的工作方式不同:
int i;
printf ("%d %d %d %d %d \n", sizeof(i), sizeof('A'), sizeof(sizeof('A')), sizeof(float), sizeof(3.14));
Run Code Online (Sandbox Code Playgroud)
使用gcc编译器在c中的上述程序的输出是4 4 8 4 8
使用g ++编译器在c ++中上述程序的输出是4 1 8 4 8
我预计c中有4 1 4 4 8.但结果并非如此.
printf sizeof中的第三个参数(sizeof('A'))给出8
任何人都可以给我这个推理
Cha*_*via 14
这与sizeof操作员无关; 相反,C中字符文字的大小不同于C++,因为C中的字符文字是类型int,而在C++中它们是类型char.
请参阅为什么C字符文字整数而不是字符?欲获得更多信息.
| 归档时间: |
|
| 查看次数: |
316 次 |
| 最近记录: |