求助..希望可以解答
#include "stdio.h"main()
{
int x,y,z;
x=y=z=8;
printf("x=%d,y=%d,z=%d\n",x,y,z);
x=(y=12)*(z=8);
printf("x=%d,y=%d,z=%d\n",x,y,z);
x+=x-=x*(y=5); /*这里不明白*/
printf("x=%d,y=%d,z=%d\n",x,y,x);
return 0;
}
这里的x+ 和x- 是什么意思,z 为什么不在,却又能输出数据呢
可以教下我吗? 谢谢了
----------------解决方案--------------------------------------------------------
看书,上网查,不是“x+和x-” 而是“x+=x-=x*(y=5)” 意思是 "x=x-x*(y=5);x=x+x;"
(dev-cpp v4.9.9.2通过)
----------------解决方案--------------------------------------------------------
能说详细点吗..??不知去哪查
----------------解决方案--------------------------------------------------------
x+=x-=x*(y=5); 相当于
x=x-[x*(y=5)],再x=x+x
z的值是x
----------------解决方案--------------------------------------------------------
x的值可以理解,但z的值变成了x,是怎么回事啊?
----------------解决方案--------------------------------------------------------
不好意思,看错了,我明白了。
----------------解决方案--------------------------------------------------------
printf("x=%d,y=%d,z=%d\n",x,y,x);
看到没?z的值其实是x. x, y, x
----------------解决方案--------------------------------------------------------
真感谢啊........我终于明白了..
----------------解决方案--------------------------------------------------------
哈哈,详细
----------------解决方案--------------------------------------------------------