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语言运算符中优先级最低的一种运算符。

二、其它用法:

1、在for里面的应用:

int i;int j;

for(i=0,j=0;i<5;i++,j++)

2、当分隔符:int i,j;

扩展资料

运算符优先级:

1、优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

2、相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

3、基本的优先级需要记住:指针最优,单目运算优于双目运算。如正负号。先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 && 7等价于 (1 << (3 + 2))&&7.逻辑运算最后计算。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-12-02
C 语言中,逗号(,)也可以是运算符,称为逗号运算符(Comma Operator)。逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:

子表达式1, 子表达式2, ..., 子表达式n

例如:

a + b, c = b, c++

逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。上例中,c++ 的值(c 自增之前的值)即为该表达式的值。

逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,c 得到 b 的值后,才进行自增运算。本回答被提问者和网友采纳
相似回答