单选题
👁️ 浏览量:

试题题干

设int a,b,t;,不能实现a和b的值交换的语句是()

A

a=t;t=b;b=a;

B

t=a;a=b;b=t;

C

t=b;b=a;a=t;

D

a=a+b,b=a-b,a=a-b;

参考答案

正确答案:

试题解析

选项A,最后a和b的值相同,都是t最早的值。选项B和选项C都完成了a和b的值交换,也很容易理解。选项D,执行b=a-b时这里的a已经最初的a的值+b,所以执行b=a-b相当于最初的a+b-b,所以实际完成了最初的a赋给了b;执行a=a-b时这里的a已经最初的a的值+b,这里的b已经是最初的a的值,所以执行a=a-b完成的是最初的b赋给a,从而实现a和b的值交换。