以下是引用moonwalker在2007-3-16 21:05:15的发言:
看看下面这个逗号表达式的程序:
int main()
{
int a=0,b=0;
int c,d;
c=(a++,a++);
d=(b++,b++,b++);
printf("c=%d\n",c);
printf("d=%d",d);
}
结果是c=1,d=2
显然是先执行表达式1,再执行表达式2
你可以看看谭浩强那本书P64(第二版)有说明你那种不是逗号表达式
只是printf函数参数的分隔符
逗号运算号是从左到右的结合顺序,但在函数调用这种特殊情况下是从右到左的.
你有没有更好的解释说明这个问题.