利矛之刃 发表于 2016-4-5 15:49:10

报错说是形式参数和时间参数不一致,刚学指针,求教

#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;
       
}
代码就只这样,看了半天没看懂哪里不一致了。

LeoChou 发表于 2016-4-5 16:04:11

P为指针,*p为指针指向内存的值。函数的形参为指针类型,调用时用的*p,直接用p。

xls6688 发表于 2016-4-5 17:56:54

P为指针,*p为指针指向内存的值。函数的形参为指针类型,调用时用的*p,直接用p。

小鸟儿 发表于 2016-4-5 19:22:49

swap(p2,p3);

muyu0096 发表于 2016-4-5 20:09:40

是形式参数和实际参数吧。。。。
这错别字错的啊
页: [1]
查看完整版本: 报错说是形式参数和时间参数不一致,刚学指针,求教