问个C语言问题如下

来源:百度知道 编辑:UC知道 时间:2024/05/09 03:48:15
main()
{
floata,b,t;
scanf("%f,%f",&a,&b);
if(a>b)
{t=a;a=b,b=t;}........................................
printf("%5.2f,%5.2f",a,b);
} 打标记的一个表达式什么意思,请详细说明以下(初学)

这是一个交换a,b值的方式
t=a;a=b,b=t
t 是一个你自已设计的临时变量,作用是在a,b交换值时作为
临时存取变量a,b.
t=a;是将a的值赋给t,a的值并没有改变只是复制给t了,
a=b;是将b的值赋给a,这时a的值被b的值给覆盖了,
b=t;是将t的值赋给b,因为t的值就是原a的值,所以这句实际上是将原a的值赋给b(记住是将原a的值赋给b)
这样就将a与b的值交换了,这时和t的内存被释放了。

看来LZ以后学习数据结构时,肯定很费力

互换a,b的值
t = a; //把a的值赋值给t,这时a的值还是a本来的值,t=a
a = b; //这时b的赋值给了a,这时b的值还是b本来的值,a的值就变成了b的值了
b = t; //这时b 的值为原来的a了
这样就完成了a,b值的互换了

把a与b的值交换了.
t是临时变量,就是中介.
楼上很清楚说出来了.

有一瓶油和一瓶酒,要你将酒倒进油瓶,将油倒进酒瓶,怎么办?得找一个空瓶子,那就是传说中的t....

a代表油,b代表酒.....阿门。。

交换a和b的值
画个图漫漫看