标题:[求助]输入2个数,按代数值由小到大输出
只看楼主
奇牙
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-1-31
 问题点数:0 回复次数:5 
[求助]输入2个数,按代数值由小到大输出
main()
{
float a,b,t;
scanf("%f,%f",&a,&b);
if(a>b)
{t=a;a=b;b=t;}
printf("%5.2f,%5.2f",a,b);
}
运行情况:
3.6,-3.2回车
-3.2,3.6
问题    if(a>b)
      {t=a;a=b;b=t;}  这两行是什么意思啊?我觉的a,b,t三者相等呀 请大家解释解释~谢谢!
搜索更多相关主题的帖子: 输入 输出 由小到大 数值 
2005-02-18 12:10
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
得分:0 
你一步一步看这3个语句,看a,b,t变量的值如何变化。就会知道了:)

Have you visit acm.tongji. lately?
2005-02-18 12:57
奇牙
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-1-31
得分:0 
t=&a中的值
a=&b中的值
b=t=&a中的值 是吗?
那 {t=a;a=b;b=t;} 用a=b;b=a 替换行不行?

printf(\"路漫漫其修远兮,吾将上下而求所!\")
2005-02-18 13:11
Antigloss
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2004-12-30
得分:0 
t=a是把a的值赋给t,而不是说t等于a
当然不可以用a=b;b=a代替。因为a=b;后,此时a和b相等,再执行b=a;没有任何意义。
&是地址运算符,&a得到的是a的地址。
阁下要多多温习c的基本语法
2005-02-18 15:12
smyzxk
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-2-15
得分:0 
强烈同意楼上.你应该去多看书,把基础都掌握了再来上网.
t是中间变量,它的作用是交换a和b的值.另外=是赋值运算符,==才是等于号.
2005-02-18 15:30
奇牙
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-1-31
得分:0 
  谢谢楼上的几位好邻居 我是正在学习c呢 看到第5章啦

printf(\"路漫漫其修远兮,吾将上下而求所!\")
2005-02-18 15:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-12289-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.130061 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved