请大神指教,怎么 int 型改为 double 型就出错了呢??
#include"stdio.h"void swap(int *p1,int *p2)
{
int p;
p=*p1;*p1=*p2;*p2=p;
}
main()
{
int a,b,*p1,*p2;
scanf("%d%d",&a,&b);
p1=&a;p2=&b;
swap(p1,p2);
printf("%d %d",a,b);
}
输出
1 2
2 1
这个程序运行没有错误,但将int改为double后
#include"stdio.h"
void swap(double *p1,double *p2)
{
double p;
p=*p1;*p1=*p2;*p2=p;
}
main()
{
double a,b,*p1,*p2;
scanf("%f%f",&a,&b);
p1=&a;p2=&b;
swap(p1,p2);
printf("%f %f",a,b);
}
输出
1 2
0.000000 0.000000
初学c语言,望高手赐教!!!