#include
#include
#include
#include
int main(void)
{
int a = 3,b=4;
printf("%d\n", (a++,b++,a+b));//最后的逗号运算符表达式一定要打括号,因为前面的一个参数中的转换说明里已经提示了计算机后面有一个参数
//如果不打括号,那么计算机就直接认为那个参数是a++,然后就不会再执行后面的东西了
system("pause");
return 0;
}
//输入3,4
//输出9
C 语言中,逗号(,)也可以是运算符,称为逗号运算符(Comma Operator)。逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:
子表达式1, 子表达式2, ..., 子表达式n
例如:
(a++,b++,a+b)
逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,a++,b++之后才进行a+b的操作,这个表达式返回值的结果就是a+b的值。
******逗号运算符的主要应用
#include int main(void) { const int FIRST_OZ=46; const int NEXT_OZ=20; int ounces,cost; printf("ounces cost\n"); for(ounces=1,cost=FIRST_OZ;ounces<=16;ounces++,cost+=NEXT_OZ) { printf("%5d $%4.2f\n",ounces,cost/100.0); } return 0; }
上面的代码片就很好的应用了逗号运算符,逗号运算符虽不局限在for循环里用,但是这是它最常用的地方,使for循环头能包含更多信息
===========================
关于逗号,并不是只有逗号运算符这一个功能,它还可以做分隔符在函数的参数列表里面使用。