一招制敌的军用格斗术:c语言设计s

来源:百度文库 编辑:中科新闻网 时间:2024/04/16 23:21:10
??(28) 有如下程序
??void f(int x,int y)
??{ int t;
?? if(x
??}
??main()
??{ int a=4,b=3,c=5;
?? f(a,b); f(a,c); f(b,c);
?? printf("%d,%d,%d\n",a,b,c);
??}
谁能说明一下个行的意思
说的越详细越好

我觉得你的程序有点问题了。,,。

那个调用的函数没有写完。,。,
主函数也有问题了。。
照你的程序的话,a,b,c换了2次。。。结果还是不变。。

我觉得应该是

void f(int x,int y)
{
int t;
t=x;x=y;y=t;}

然后这个程序的功能是实现3个数的大小排序。。
主程序应该是

main()
{int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b) f(a,b);
if(a>c) f(a,c);
if(b>c) f(b,c);
printf("%d,%d,%d",a,b,c);
}

//c语言设计s

我认为这样改更好:
void f(int &x,int &y)//&按引用传递,在f中的修改会体现在main中
{
int t;
if(x>y){
t=x;
x=y;
y=t;
}
}
void main()
{
int a=4,b=3,c=5;
f(a,b); f(a,c); f(b,c);//各项比较,把小的放在前面,大的放在后面
printf("%d,%d,%d\n",a,b,c);
}
//输出结果是3,4,5