返回信息流书上说
printf("%d",sizeof 'A')结果是4,char类型在表达式中自动转换成int
但是结果vc6.0中是1
必定的转换float->double
char 、short->int
short sh=4;
sizeof sh的结果还是2,没有自动类型转换?
这是一条镜像帖。来源:北邮人论坛 / cpp / #41540同步于 2010/7/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
有关类型转换的问题
K123456
2010/7/19镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
为什么要转化呢?你什么也没有干...
【 在 K123456 的大作中提到: 】
: 书上说
: printf("%d",sizeof 'A')结果是4,char类型在表达式中自动转换成int
: 但是结果vc6.0中是1
: ...................
唔。。。楼主问的是类型提升么
这个ANSI中也是类型提升的。。。
sizeof sh,这个必然是2,因为sh是short变量
而那个sizeof ('A'),因为编译器的不同,可能会有答案的不同,这个可以有两种理解,或者理解为字符或者理解为表达式,如果是表达式的话那就被自动类型提升了,不同的编译器有不同的具体实现吧,就像ls说的那样,gcc和vc的结果就不一样。