C语言逗号表达式(a=3*5,a*4,a+5)的值是多少
(a=3*5,a*4).a+5
应该是
(a=3*5,a*4),a+5 吧
逗号表达式注意两个基本知识:
1. 逗号表达式的运算顺序是从左向右运算
2. 逗号表达式的值取逗号中最右表达式的值
现在看(a=3*5,a*4),a+5这个逗号表达式,
首先对于(a=3*5,a*4)和a+5来说,按照从左向右运算先计算(a=3*5,a*4)
(a=3*5,a*4)
这个逗号表达式从左向右运算先计算a=3*5,这是个赋值语句,处理a=3*5=15
再计算a*4,此时a=15,所以a*4=60,但是注意这个表达式并没有对a赋值,仅仅是一个乘法运算
根据逗号表达式的值取逗号中最右表达式的值的原则,(a=3*5,a*4)的值为60
再看a+5,
之前运算(a=3*5,a*4)时,a已经被赋值为15,所以这里a+5=15+5=20
所以a+5这个表达式的值为20
再根据逗号表达式的值取逗号中最右表达式的值的原则,
表达式(a=3*5,a*4),a+5 的值即为a+5的值,也就等于20了
逗号表达式的运算法则是什么
1、逗号表达式的运算过程为:从左往右逐个计算表达式。
2、逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
3、逗号运算符的优先级别在所有运算符中最低。
逗号表达式相关的题:
例题1:(a = 3,b = 5,b+ = a,c = b* 5),求逗号表达式的值?
答案:40。
如:
(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14;a=(a=3*5,a*4)的值是60,其中(a=3*5,a*4)的值是60, a的值在逗号表达式里一直是15,最后被逗号表达式赋值为60,a的值最终为60。-逗号表达式的值
逗号表达式的运算法则是怎么样的
如下:
1、逗号表达式的运算过程为:从左往右逐个计算表达式。
2、逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
3、逗号运算符的优先级别在所有运算符中最低。
逗号表达式相关的题:
例题1:(a = 3,b = 5,b+ = a,c = b* 5),求逗号表达式的值?
答案:40。
前两个表达式只是赋值,从第三个开始计算,b+=a,即b=b+a,即b=5+3,b=8,求最后一个表达式,c=b*5=8*5=40.因为逗号表达式的值是最后一个表达式的值,所以整个逗号表达式的值为40,其他各变量最后的值依次为:a=3,b=8,c=40。-逗号表达式