报错说是形式参数和时间参数不一致,刚学指针,求教
#include <stdio.h>void main()
{
void exchange(float*p1,float*p2,float*p3);
float a,b,c,*p1,*p2,*p3;
scanf("%f %f %f",&a,&b,&c);
p1=&a;
p2=&b;
p3=&c;
exchange(*p1,*p2,*p3);
printf("%f %f %f\n",a,b,c);
}
void exchange(float *p1,float *p2,float *p3)
{
void swap(float*pt1,float*pt2);
if(*p1<*p2)
{
swap(*p1,*p2);
}
if(*p1<*p3)
{
swap(*p1,*p3);
}
if(*p2<*p3)
{
swap(*p2,*p3);
}
}
void swap (float *pt1,float *pt2)
{
float temp;
temp=*pt1;
*pt1=*pt2;
*pt2=temp;
}
代码就只这样,看了半天没看懂哪里不一致了。 P为指针,*p为指针指向内存的值。函数的形参为指针类型,调用时用的*p,直接用p。 P为指针,*p为指针指向内存的值。函数的形参为指针类型,调用时用的*p,直接用p。 swap(p2,p3); 是形式参数和实际参数吧。。。。
这错别字错的啊
页:
[1]