晕。。你写的是要把a和b交换吗??
不需要自己新建一个调用函数的,那样会更麻烦!占内存哦!
晕。。你写的是要把a和b交换吗??
不需要自己新建一个调用函数的,那样会更麻烦!占内存哦!
/*实现两数交换*/
#include <stdio.h>
void main()
{
void swap(int *iArr);
int iArray[2];
scanf("%d,%d",&iArray[0],&iArray[1]);
printf ("iArray[0] = %d\tiArray[1] = %d\n",iArray[0],iArray[1]);
swap(iArray);
printf ("iArray[0] = %d\tiArray[1] = %d\n",iArray[0],iArray[1]);
getch();
}
void swap(int *iArr)
{
int temp;
temp = iArr[0];
iArr[0] = iArr[1];
iArr[1] = temp;
}
楼主可以用数组地址传递的方法,例如:数组a在main程序中定义,其地址可以被b函数引用,数组的值如果在b函数中改变那么在main函数中也一样改变.刚学到一点,其它的请高手指点下!!!
#include"iostream.h"
void f(int x,int y)
{
int c;
c=x;x=y;y=c;
cout<<x<<" "<<y<<endl;
}
void main()
{
int a,b;
cin>>a>>b;
f(a,b);
}这样就对了
如果只是要实现两个数交换的话,何必用函数呢!,那复杂了.
真的要用函数那就用指针就OK了
这是直接交换的:
#include<stdio.h>
void main()
{
int a,b,n;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
n=a;
a=b;
b=n;
printf("a=%d,b=%d\n",a,b);
}
这是用指针的:
#include<stdio.h>
void main()
{
int f(int * x,int * y);
int a,b;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
f(&a,&b);
printf("a=%d,b=%d\n",a,b);
}
f(int * x,int *y)
{
int n;
n=*x;
*x=*y;
*y=n;
}