逗号运算符的问题!
#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
求解????
y = (x=a+b),(b+c); //=号比逗号的优先级高
这个语句是这样的:
(y = (x=a+b)),(b+c);
如果写成这样,就和你预想的一样了,y就是b+c了:
y = ((x=a+b),(b+c)); 福禄娃娃 发表于 2013-11-14 23:08 static/image/common/back.gif
y = (x=a+b),(b+c); //=号比逗号的优先级高
这个语句是这样的:
(y = (x=a+b)),(b+c);
恩恩,懂了,十分感谢! 好像这个问题我已经发布在这个版块了吧
页:
[1]