C语言表达式运算中操作数类型的自动转换与强制转换是什么样子的?逗号表达式是怎样的?

谢谢

淡定..听我说
逗号表达式赋值
是逗号最后一个赋值给a的,当然要进行自左向右运算
a=(a=i+1,a+2,a+3),
先看括号
a=i+1=5+1=6
,a=2=8,a+3=9
虽然这个时候a=6已经把6赋值给a了
但是括号外面还要给a赋值一次
逗号表达式取最后一个表达式的值,也就是9赋值给a
你的答案错了
i=5,a=9
其实我也有怀疑,所以编译了一下
编译结果是i=5,a=9
我的正确的噢
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-16
自动转换:

double d = 1; int类型的数字1自动转化为doulbe

float f;
double d = (double)f; 强制类型转换

逗号表达式:

int a = 2, b = 1;
b = a, a += 3;本回答被提问者采纳
相似回答