#include<stdio.h>
void f(int x,int y){
int t;
if(x<y){
t=x;
x=y;
y=t;
}
}
int main()
{
int a=2,b=3;
f(a,b);
printf("a=%d,b=%d\n",a,b);
}
#include<stdio.h>
void f(int& x,int& y){
int t;
if(x<y){
t=x;
x=y;
y=t;
}
}
int main()
{
int a=2,b=3;
f(a,b);
printf("a=%d,b=%d\n",a,b);
}
值没有传到main里,得改成指针的方法
这是一种方法
#include<stdio.h>
void f(int *x,int *y)
{
int t;
if(*x<*y)
{
t=*x;
*x=*y;
*y=t;
}
}
int main()
{
int a=2,b=3;
f(&a,&b);
printf("a=%d,b=%d\n",a,b);
}
你把a,b传给了函数中的x,y, x,y的值互换了,但a,b么有互换