首页 理论教育 C语言程序设计-逗号运算符与表达式

C语言程序设计-逗号运算符与表达式

时间:2023-11-23 理论教育 版权反馈
【摘要】:例如,逗号表达式1+10,8*2,4%3,先计算1+10,再计算8*2,最后计算4%3,整个逗号表达式的值是4%3的值,结果为1。在所有运算符中,逗号运算符的优先级别最低,所以逗号表达式无非是把若干个表达式串联起来,许多情况下,使用逗号表达式的目的是想分别得到各个表达式的值,而并不一定是得到整个逗号表达式的值。

C语言程序设计-逗号运算符与表达式

“,”是C语言提供的一种特殊运算符,又称为顺序求值运算符。用逗号将表达式连接起来的式子称为逗号表达式。逗号表达式的一般格式为:

表达式1,表达式2,……,表达式n

格式说明:

(1)逗号运算符自左至右结合,因此逗号表达式将从左到右进行运算,即先计算表达式1,最后计算表达式n,最后一个表达式n的值就是此逗号表达式的值。例如,逗号表达式1+10,8*2,4%3,先计算1+10,再计算8*2,最后计算4%3,整个逗号表达式的值是4%3的值,结果为1。

(2)在所有运算符中,逗号运算符的优先级别最低,所以逗号表达式无非是把若干个表达式串联起来,许多情况下,使用逗号表达式的目的是想分别得到各个表达式的值,而并不一定是得到整个逗号表达式的值。例如,a=1,b=2,c=a+b,执行结果是变量a的值为1,变量b的值为2,变量c的值为3,整个表达式的值为3。再如a=2*3,a*4,a+5,由于赋值运算符的优先级高于逗号运算符,所以先计算a=2*3,给变量a赋值6,再计算a*4,即6*4,最后计算a+5,即6+5,所以整个逗号表达式的值为11。(www.xing528.com)

(3)可以使用小括号改变运算符的优先级。例如,x=(y=1,2*3),先计算逗号表达式y=1,2*3,计算结果是,逗号表达式的值为6,变量y的值为1,再计算赋值表达式x=6,变量x的值是6。而表达式x=y=1,2*3,则是一个逗号表达式,包括一个赋值表达式x=y=1和一个算术表达式2*3,计算结果是,变量x和y的值都是1,逗号表达式的值为6。

(4)并不是任何地方出现的逗号都是逗号运算符。例如,printf(“%d,%d”,x,y)中的逗号是参数的间隔符。

【例2-22】程序li2_4_9。

程序说明参考程序中的注释语句。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈