飞驰吧!少年 发表于 2013-11-14 22:47:28

逗号运算符的问题!

#include <stdio.h>

void main()
{
        int a=2,b=4,c=6,x,y;
        y=(x=a+b),(b+c);
        printf("y=%d,x=%d\n",y,x);
}
显示的是
y=6,x=6
Press any key to continue

求解????

福禄娃娃 发表于 2013-11-14 23:08:34

y = (x=a+b),(b+c); //=号比逗号的优先级高
这个语句是这样的:
(y = (x=a+b)),(b+c);

如果写成这样,就和你预想的一样了,y就是b+c了:
y = ((x=a+b),(b+c));

飞驰吧!少年 发表于 2013-11-15 07:46:00

福禄娃娃 发表于 2013-11-14 23:08 static/image/common/back.gif
y = (x=a+b),(b+c); //=号比逗号的优先级高
这个语句是这样的:
(y = (x=a+b)),(b+c);


恩恩,懂了,十分感谢!

三足金乌 发表于 2013-11-18 23:05:16

好像这个问题我已经发布在这个版块了吧
页: [1]
查看完整版本: 逗号运算符的问题!