关于甲鱼视屏3.19例题(GCC编译)
本帖最后由 837654886 于 2012-7-7 22:14 编辑#include"stdio.h"
main()
{
int a,b,c,x,y;
a=2;
b=4;
c=6;
y=(x=a+b),(b+c);
printf("y=%d,x=%d\n",y,x);
}
这里的y为什么不等于10
结果:
y=6,x=6
y=(x=a+b),(b+c);这个语句应该这样写
y=((x=a+b),(b+c));
这是因为赋值的优先等级要大于逗号运算符,所以加上个括号!
本帖最后由 chao_prince 于 2012-7-7 22:01 编辑
{:5_94:}楼主把问题讲清楚点啊。。我都不晓得你讲的是啥问题。。貌似我看不到图。。直接用文字讲吧。。
chao_prince 发表于 2012-7-7 22:00 static/image/common/back.gif
楼主把问题讲清楚点啊。。我都不晓得你讲的是啥问题。。貌似我看不到图。。直接用文字讲吧。。
{:5_109:}改好了
九霄云外 发表于 2012-7-7 22:27 static/image/common/back.gif
y=(x=a+b),(b+c);这个语句应该这样写
y=((x=a+b),(b+c));
这是因为赋值的优先等级要大于逗号运算符,所以 ...
原来如此{:5_106:} 我看见很多人都是纠结在这种问题上了:o 原来是这样,当时我纠结了:L 看看不解释
页:
[1]