由小到大输出的问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 02:34:21
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
{t=x;x=y;y=t;} /*交换x,y的值*/
if(x>z)
{t=z;z=x;x=t;}/*交换x,z的值*/
if(y>z)
{t=y;y=z;z=t;}/*交换z,y的值*/
printf("small to big: %d %d %d\n",x,y,z);
}
这式子里的t是什么意思???为什么没输入他的值?

譬如你有标号为x,y的两杯水,你要把它们中的水互换,那么你就需要一个标号为t的杯子了吧,这个t中你根本就不用倒水进去的吧,你把x中的水倒入t中,然后把y中的水倒入空了的x中,然后再把t中的水倒入y中,不就完成了x与y的互换么。

你肯定是刚学C吧,呵呵,建议你多去CSDN逛逛,加油加油!

t是以个临时变量,用来交换的时候保存数据的,要不然数据会丢失的

t是中间量,实现实参传值作用,相当与一个房间有3张床,甲睡A,乙睡B,丙睡C.现在你想睡C,可以通过先跟B换,在跟A换。