首页
社区
课程
招聘
[讨论]sizeof('A')=1 还是4
发表于: 2010-7-19 15:22 4130

[讨论]sizeof('A')=1 还是4

2010-7-19 15:22
4130
#include <stdio.h>
int main()
{
      printf("sizeof('A')=%d\n", sizeof('A'));
      return 0;
}

如果将上述代码保存为a.c
则用gcc a.c 编译后运行的结果为 sizeof('A')=4
如果将上述代码保存为a.cpp
则用gcc a.c 编译后运行的结果为 sizeof('A')=1

用VC++6.0编译也出现同样的情况, 扩展名为c则结果为4, 扩展名为cpp,则结果为1

谁能解释一下原因?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 348
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
   

c 比较灵活了

'A' == 65

sizeof 65   == sizeof 'A'

char c = 'A';

sizeof c = 1

不是特殊需要尽量用cpp吧
2010-7-19 16:13
0
雪    币: 21
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
C语言的表达式中变量会做隐式类型转换
2010-7-20 10:40
0
游客
登录 | 注册 方可回帖
返回
//