请问C语言里逗号运算符有什么用?

逗号运算符不是只显示最后一个结果吗,那前面那些运算有什么意义呢?请举例说明下。

确实,如果前面那些运算是纯粹的运算的话,是没用的。
如int a = 2, 3, 4;
那么2,3显然是没用的。
但如果前面的运算有些"side effect"的话,逗号运算符就显示出一些简化代码的功效了。
比如:
int k = ++a, ++b;
这句话用(b+1)定义了k,同时把a和b都加了1。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-28
比如你要定义一些变量,你当然不想每个变量写一个语句,用分号结束,
这时逗号就用上了
int a, b, c, d;
谢谢采纳!
第2个回答  2020-12-09

运算符:用于c语言中执行程序代码运算

第3个回答  2011-02-28
C语言中,逗号既可作 分隔符 ,又可作 运算符。
(1)逗号作为分隔符使用时,用于间隔说明语句中的变量或函数中的参数;
例如楼上的朋友所举的例子:int a, b, c, d; 用于 间隔说明语句中的变量,
printf ("%d %d",x,y);用于间隔函数中的参数;
(2)作为 运算符 使用时,将若干个独立的表达式连接在一起,组成一个逗号表达式。其形式为:
表达式1,表达式2,表达式3,……,表达式n
运算过程:从左向右执行, 先计算 表达1 的值,再计算 表达式2 的值,依次往后计算,直到计算出表达式n 的值 作为 1到n 整个表达式的 值, 其 值 的类型和 表达式n 的类型相同 。
在使用过程中注意一点: 逗号作运算符使用时,它的 优秀级 是所有运算符中最低的,即 最先执行 逗号运算。
例如:
int x=14,y=5;
y=((x=3*y,x+6),x-1);
printf ("x=%d,y=%d",x ,y);
这个程序的执行结果: x=15,y=14
执行语句 y=((x=3*y,x+6),x-1);时,最外层的括号里面是一条 逗号 语句,把这个逗号语句的值 赋给 y,由于是按从左向右的顺序执行,即先执行 里面一层的 括号,而里面这层 依然是一个 逗号表达式,在这里层 中 依然按从左向右的顺序执行,先执行x=3*y , 执行后 x的值为15,然后执行 x+6, 其值为21 , 里层括号执行完毕 ,得到 里层括号的值为 21,最后执行
x-1,为14,将 14 这个值作为最终结果 赋给 y ; 得到程序最终结果,x值为15,y值为14。本回答被提问者采纳

c语言中的逗号有何作用?
C语言中的逗号有两种意思:1、表示"分隔号"的意思,就和语文中的逗号一个意思;2、表示"逗号运算符"的意思,用它将2个表达式连接起来.例如:3+5,6+8:就称为逗号表达式,又称为"顺序求值运算符"。逗号表达式的一般形式为表达式1,表达式2。逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个...

C 语言中的逗号有哪些含义?
C语言中的逗号有以下几种用法: - 逗号运算符:将两个表达式连接起来,先求解左边的表达式,再求解右边的表达式。整个逗号表达式的值是右边表达式的值。例如:a=3*5,b=6*8;,a=15,b=48。- 逗号表达式:将多个表达式用逗号隔开,按照从左到右的顺序依次执行。例如:a=3*5,b=6*8;,先计算a...

请问C语言里逗号运算符有什么用?
确实,如果前面那些运算是纯粹的运算的话,是没用的。如int a = 2, 3, 4;那么2,3显然是没用的。但如果前面的运算有些"side effect"的话,逗号运算符就显示出一些简化代码的功效了。比如:int k = ++a, ++b;这句话用(b+1)定义了k,同时把a和b都加了1。

C语言中逗号运算符怎么用?
} 先算括号内的值: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语言中逗号运算符有什么用呢?如题 谢谢了
逗号表达式是把若干个表达式“串联”起来,最大特点在于它可以在一条语句中整合多种不同类型的表达式,用一条语句实现多个功能。例如,有如下可编译执行程序: #include <iostream> using namespace std; int main() { int i; cout<<3<<endl,i=4*8,cout<<i<<endl; return 0; } ...

C语言中逗号运算符怎么用?
逗号运算(,)是一个多元运算,逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:子表达式1, 子表达式2, ..., 子表达式n 它的整个的值都是最后一个表达式的值,这里所说的值是从左向右运算的。逗号运算符的优先级是所有运算符中级别最低的。例如:i...

在C语言中逗号运算符如何作用才是合乎规则的?
c-,d+3;对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是 d+3,为8,所以a=8。对于第二行代码,那么也是有三个表达式,这时的三个表达式为a2=++b c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=3。

c语言中,为什么要用逗号连接两个表达式?
C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如:3+5,6+8 称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为 表达式1,表达式2 逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,上面的逗号表达式“3+5,6...

C语言中的逗号有什么意义?
C语言中的逗号有2种意思:1.表示"分隔号"的意思,就和语文中的逗号一个意思;2.表示"逗号运算符"的意思,用它将2个表达式连接起来.例如:3+5,6+8 就称为逗号表达式,又称为"顺序求值运算符".逗号表达式的一般形式为 表达式1,表达式2 逗号表达式的求解过程是:先求解表达式1,再求解表达式2.整个逗号...

逗号运算符的功能
尽管逗号表达式在编程中不常用,常用于循环变量初始化,但在函数调用中,参数间的分隔也是逗号,但这并不表示它们都是逗号运算符。如 `printf("表达式%d,%d,%d",x,y,z);` 中的逗号。掌握了C语言的基本运算符和表达式,我们就可以开始编写程序了。让我们以这些基础知识为基础,继续前行,为明天的编程...

相似回答