C语言,在输入3个成绩a.b.c,要求按高到低的顺序输出。其中if(a<b){t=a;a=b;b=

C语言,在输入3个成绩a.b.c,要求按高到低的顺序输出。其中if(a<b){t=a;a=b;b=t;} ,实现a和b的互换,但是=是赋值,怎么能够把b赋给a这样数值难道不会变化吗?新手不理解啊!

所以采用临时变量先把a的值给t保存起来,再把b的值给a,再将原先存储a值的t给b
这样数据不会被覆盖丢失啊追问

这样做输出的值不变?

追答

对啊,a中的值变成了b中的值,b中的变成了原先a中的;
如,原a=1,b=2,这样处理就是a=2,b=1;
若按a,b的顺序输出,就是从大到小了啊

追问

谢谢啦,我好哈,

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-24
使用临时变量追问

那样输出的b值不就变了吗?

追答

b就等于原来的a的值。a等于原来b的值。

相似回答