【求助】C语言指针疑问
#include "stdio.h"
swap(int *pt1,int *pt2)
{int temp;
temp=pt1;
*pt1=*pt2;
*pt2=temp;
/*为什么不可以写成:
int *temp;
*temp=*pt1;
*pt1=*pt2;
*pt2=*temp;
改这样之后,运行,会提示出错。
假如说指针在定义以前不能被使用,如果说在定义指针时,定义为:*temp=NULL,再使用可以?
*/
}
exchange(int *q1,int *q2,int *q3)
{
if(*q1<*q2)swap(q1,q2);
if(*q1<*q3)swap(q1,q3);
if(*q2<*q3)swap(q2,q3);
}
main()
{
int a,b,c,*p1,*p2,*p3;
scanf("%d,%d,%d",&a,&b,&c);
p1=&a,p2=&b,p3=&c;
exchange(p1,p2,p3);
printf("\n%d,%d,%d\n",a,b,c);
}
[用户系统信息]Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)