#include<stdio.h>
void main( )
{
void f(int x,int y);
int a=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
void f(int x,int y)
{
int t;
if(x<y)
{ t=x; x=y; y=t; }
}
哪里错了,解答一下吧,点采纳
void f(int &x,int &y); 里面需要加上 &
#include<stdio.h>
void main( )
{
void f(int &x,int &y);
int a=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
void f(int &x,int &y)
{
int t;
if(x>y)
{
t=x;
x=y;
y=t;
}
}
你要理解形参和实参的概念,在形参中的换位不会影响到实参。
要实现你的要求,这里需要用到指针。
void f(int *x, int *y){
int t;
if (*x < *y){
t=*x;
*x=*y;
*y=t;
}
}
f(&a,&b);
f(&a,&c);
f(&b,&c);