去评论
推扬网

冯佳妮:C语言中的逗号表达式

admin
2020/08/09 16:22:57

张玖玲的回答:

逗号表达式,按从左到右顺序进行,先计算a=3*5,再计算a*4,然后a+5,但是最后把 a+5赋值给y。所以 a=3*5=15, a+5=20,所以最后y=a+5=20 a=3*5,a*4,a+5; ","逗号运算符优先级最低,比赋值还要低,所以先计算a=3*5, 再计算a*4,最后a+5,可见 a的值 就是3*5,与后面无关啊。所以结果是15!! 多看书

郑波的回答:

逗号表达式,按从左到右顺序进行,先计算a=3*5,再计算a*4,然后a+5,但是最后把 a+5赋值给y。所以 a=3*5=15, a+5=20,所以最后y=a+5=20 a=3*5,a*4,a+5; ","逗号运算符优先级最低,比赋值还要低,所以先计算a=3*5, 再计算a*4,最后a+5,可见 a的值 就是3*5,与后面无关啊。所以结果是15!! 多看书

风之魂的回答:

(x=a+b),(b+c)  是一个逗号表达式,整个表达式的值为最后一个式子的值,但是逗号表达式要从左向右计算,这个等价于  (x=2+4),(b+c)  ===>  6,(4+6)  ====> 6,10  即表达式值为10 把10赋值给y ,则y的值就是10

呼德勒的回答:

第一个中a*4之后,这个20没有赋值给a,所以此时a仍然为15,y值为15+5,为20 你应该写成a=a*4,就能够得到65了 第二个,a的值只是3*5,后面的乘和加都没直接赋值到a上去