楼上的有错误 swap1函数没有返回值,故主函数输出的第一批中a,b的值并没有交换。
#include
void swap1(int a, int b);
void swap2(int *a, int *b);
void main(int a,int b)
{
printf("input a,b:");
scanf("%d%d",&a,&b);
swap1(a,b);
swap2(&a,&b);
printf("a=%d,b=%d",a,b);
}
void swap1(int a, int b)
{
int m; m=a; a=b; b=m;
printf("a=%d,b=%d\n",a,b);
}
void swap2(int *a, int *b)
{
int m; m=*a; *a=*b; *b=m;
}
#include
void swap1(int a, int b);
void swap2(int *a, int *b);
void main(int a,int b){
printf("input a,b:");
scanf("%d%d",&a,&b);
swap1(a,b);
printf("a=%d,b=%d\n",a,b);
swap2(&a,&b);
printf("a=%d,b=%d",a,b);
}
void swap1(int a, int b)
{
int m;
m=a;
a=b;
b=m;
}
void swap2(int *a, int *b)
{
int m;
m=*a;
*a=*b;
*b=m;
}