逗号运算符和逗号表达式
C语言提供一种特殊的运算符。用它将两个(或多个)表达式连接起来。
如 3+5,6+8
上式称为逗号表达式。逗号表达式的一般形式为
表达式1,表达式2
逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值
例如,上面的逗号表达式“3+5,6+8”的值为14
又如,逗号表达式a=3 * 5,a*4,对此表达式的求解,赋值运算符的优先级别高于逗号运算符,因此应先求解a=3 * 5,经计算和赋值后得到a的值为15,然后求解a * 4,得60,整个逗号表达式的值为60(a仍为15)。
再如,一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,如(a=35,a4),a+5先计算出a的值等于15,再进行a*4的运算得60(但a值未变,仍为15),再进行a+5得20,即整个表达式的值为20
逗号表达式的一般形式可以扩展为
表达式1,表达式2,表达式3,…………,表达式n
它的值为表达式n的值
逗号运算符是所有运算符中级别最低的,因此,下面两个表达式的作用是不同的:
- x=(a=3,6*3)
- x=a=3,6*a
第一个是一个赋值表达式,将一个逗号表达式的值赋给x,x的值等于18
第二个是逗号表达式,它包括一个赋值表达式和一个算数表达式,x的值为3
其实,逗号表达式无非是把若干个表达式“串联”起来。即逗号表达式纯粹就是为了在只能写一条表达式的地方写多条表达式而设计的,根据c++ Primer,用得最多的地方就是for循环,例如:
for(int i=0,j=SIZE-1;i<j;++i,--j)
{
//循环体
}
C语言表达能力强,其中一个重要方面就在于它的表达式类型丰富,运算符功能强,因而C使用灵活,适应性强
本文作者:TwcatL_tree
本文链接:https://www.cnblogs.com/twcat/p/16912523.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步