孤独的猫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

    在C语言中,“,”的用法有两种:一种是做分隔符,另一种是作运算符。在变量声明语句、函数调用中,逗号是做分隔符用的,例如:

int a,b,c;

scanf("%f%f%f",&f1,&f2,&f3);

C语言还允许用逗号连接表达式。例如:x=5.6,y=2.1,10+x,x+y,这里用3个逗号运算符将4个表达式连接成一个逗号表达式。

     逗号表达式的一般格式如下:

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

例如,下面就是一个逗号表达式:

    a=2*6,a-4,a+15

当逗号作为运算符使用时时一个双目运算符,其运算优先级是所有运算符中最低的。逗号运算符的运算顺序是自左向右,上式a的值最终为12,因为后面两个表达式的值仅进行了运算,并没有赋值给a。又如:

   int j=5;

   a=(a=j+1,a+2,a+3);

上述赋值语句的执行顺序为先对a变量赋值6,再计算a+2得8,再计算a+3得9,最后将9作为逗号表达式的值赋给变量a.如果将括号去掉,则a为6

如下例:

#include <stdio.h>
void main()
{
	int a=5,b=8,c=8,x,y;
	x=a+b,b+c;
	y=(a+b,b+c);
	printf("%d,%d",x,y);
}

结果为

13,16
posted on 2011-06-26 12:36  孤独的猫  阅读(3551)  评论(0编辑  收藏  举报