本文目录
- c语言中逗号运算符的功能和使用方法
- 逗号表达式的运算法则是怎么样的
- c语言逗号表达式的运算规则
- 逗号运算符的逗号运算
c语言中逗号运算符的功能和使用方法
C语言中,逗号(,)也可以是运算符,称为逗号运算符(CommaOperator)。逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:子表达式1,子表达式2,...,子表达式n例如:a+b,c=b,c++逗号运算符的优先级是所有运算符中级别最低的,通常配合for循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。上例中,c++的值(c自增之前的值)即为该表达式的值。逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,c得到b的值后,才进行自增运算。
逗号表达式的运算法则是怎么样的
如下:
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语言逗号表达式的运算规则
1、当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一个表达式的值。main(){int a,s,d;s=2;d=3;a=12+(s+2,d+4);}先算括号内的值:s+2=4,d+4=7;括号内应为(4,7),括号内取值只取最后一个,如果没有括号则取第一个;a=12+7=19。x=(y=3,(z = ++y+2) +5);是首先把y赋值为3,把y递增为4,然后把4加上2,把结果6赋值给z,接下来把z加5最后把x赋为结果值11。2、注意事项:逗号运算符( , )是C语言运算符中优先级最低的一种运算符。
逗号运算符的逗号运算
在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。例如:int a1,a2,b=2,c=7,d=5;a1=(++b,c--,d+3);a2=++b,c--,d+3;对于给a1赋值的代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是(d+3)的值,为8,所以a1的值为8。对于给a2赋值的代码,也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=4(第2行代码运算完时,b=3,即第3行代码运行时,b的值为4)。