逗号表达式的运算法则(逗号表达式的运算法则?)

http://www.itjxue.com  2023-01-29 10:53  来源:未知  点击次数: 

c语言逗号表达式的运算规则是什么?

c语言逗号表达式是由左向右进行的:k=3*2=6,K+2=8,表达式返回8。

逗号表达式用法:

当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一个表达式的值。

逗号表达式的要领:

(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。

(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。

(3) 逗号运算符的优先级别在所有运算符中最低。

举个例子:

int a1,a2,b=2,c=7,d=5; // 第1行

a1=(++b,c--,d+3); // 第2行

a2=++b,c--,d+3; //第3行

对于给a1赋值的代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是(d+3)的值,为8,所以a1的值为8。

对于给a2赋值的代码,也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)虽然最终表达式的值虽然也为8,但b=4(第2行代码运算完时,b=3,即第3行代码运行时,b的值为4),所以a2=4。

逗号表达式的运算法则是怎么样的?

如下:

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。

逗号表达式的运算法则

您好。c语言逗号表达式是由左向右进行的,比如:k=3*2=6,K+2=8,表达式返回8。当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一个表达式的值~~

(责任编辑:IT教学网)

更多

推荐站内动态文章