web.xml filter 顺序:高手来看看这个c程序

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 10:26:15
#include<stdio.h>
main()
{int a,b;
int pa,pb;
void swap(int p1,int p2);
scanf("%d%d",&a,&b);
pa=a;
pb=b;
swap(pa,pb);
printf("\na=%d,b=%d\n",a,b);
}
void swap(int p1,int p2)
{int temp;
temp=p1;
p1=p2;
p2=temp;
}
为什么这个不能实现两个数的交换,下面这个就能#include<stdio.h>
main()
{int a,b;
int pa,pb;
void swap(int p1,int p2);
scanf("%d%d",&a,&b);
pa=a;
pb=b;
swap(pa,pb);
printf("\na=%d,b=%d\n",a,b);
}
void swap(int p1,int p2)
{int temp;
temp=p1;
p1=p2;
p2=temp;
}


是不是搞错了
两个都不能的
你改一下
swap函数的定义改为
void swap(int *p1,int *p2)
{int temp;
temp=*p1;
*p1=*p2;
*p2=temp;}
不过最后不要忘记加分哦

swap函数的定义改为
void swap(int *p1,int *p2)
在试试

函数形参有2种:1,传值。2,传址。
你的那个函数行参是传值的,也就是行参和实参都有单读的内成。互不影响。用指针当形参,可以传址。
具体的你还是看看书吧。

你没有弄清楚传值调用和引用调用.

一定要学好指针啊!