工业设计史试题库:谁帮我分析一下这条C语言习题?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/05 03:45:32
执行以下语句的结果:
X+=Y;
Y=X-Y;
X-=Y;

结果为什么会是:交换X,Y的值?我不明白呢.

X+=Y
也就是x=x+y(这时,X 的值变成X和Y的和)
y=x-y(这时,Y就是X的初始值了)
X-=Y
也就是X=X-Y(这时,X减去Y,也就是减去X的初始值,得到Y,因为X现在是X和Y的初始值之和,所以就会剩下Y的初值了,)
这样,XY就会交换了
兄弟,明白了吗?

X+=Y; 这句执行后X=X+Y;
Y=X-Y; 这句执行后Y=(X+Y)-Y=X;
X-=Y; 因为X=X+Y;Y=X,所以这句执行后X=X+Y-X=Y;
这样就将 X 与 Y 交换了

这样说好了:假如x=5 y=8。第一条语句就是x=13第二条处y=5;第三条得x=8;这是c语言不用第三个变量就实现把二个变量的值交换的常用方法。