C语言程序——逗号运算符的应用


前言

逗号运算符是C语言比较特殊的运算符。


一、逗号运算符的应用

逗号运算符的优先级别最低,结合性是自左至右。逗号表达式是指用逗号运算符将两个表达式结合起来构成一个表达式,功能是依次从左到右计算各个表达式的值,最后一个表达式的值为整个逗号表达式的值。

二、程序实例

代码如下:

#include <stdio.h>
void main()
{
	int i,j;
	int a,b;
	a=10,b=10,j=10;
	i=(j++,j+100,999+j);
	printf("i=%d,j=%d\n",i,j);
	j=(i=a+b),(b+i);
	printf("y=%d,x=%d",i,j);
}

运行结果:
逗号运算符的应用

结果分析:
程序中的表达式(j++,j+100,999+j)的作用为从左到右计算表达式j++、j+100、999+j的值,最后999+j的值为逗号表达式的值。由于j++j的值为11j+100表达式的值为111,所以最后计算999+j的值为1010,保存到变量i中。
j=(i=a+b).(b+i); 语句中是一个逗号语句,首先计算表达式 j=(i=a+b) 的值为 i20j20,然后计算表达式(b+i)的值为30

拓展应用:
所有运算符中逗号运算符的级别最低,因此在区分逗号表达式和赋值表达式的时候,要清楚是哪个运算符最后进行的计算。例如:表达式 a=7+b+c,a++ 为逗号表达式,不是赋值表达式,因为这个表达式的功能是先将 7+b+c 的值赋给变量 a 后,然后变量 a 自加 1,因此最后计算的是逗号表达式。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了C语言中逗号表达式的应用。


版权声明:本文为glx6666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。