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

题目类型: 单选题

题目内容

设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,最后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的值交换。

题目纠错