帮我找一下这个c语言的错误吧,谢谢了

帮我找一下这个c语言的错误吧,谢谢了

把(*p1=max;

*p2=middle;

*p3=min;)改成

(p1=&max

p2=&middle

p3=&min)

#include "stdio.h"

#include "stdlib.h"

int main(void)

{

int *p1,*p2,*p3,a,i,min,max,middle,k,j;

p1=(int *)malloc(sizeof(int));

p2=(int *)malloc(sizeof(int));

p3=(int *)malloc(sizeof(int));

for(i=0;i<3;i++)

scanf("%d",&a[i]);

min=a;

for(i=0;i<3;i++){

if(a[i]

min=a[i];

}

max=a;

for(k=0;k<3;k++){

if(a[k]>max)

max=a[k];

}

for(j=0;j<3;j++){

if(a[j]min)

middle=a[j];

}

*p1=max;

*p2=middle;

*p3=min;

printf("%d,%d,%d",*p1,*p2,*p3);

return 0;

}

#include

int main(void)

{

int *p1,*p2,*p3,a,i,min,max,middle,k,j;

p1=&maxp2=&middlep3=&min//指针没有确定指向

for(i=0;i<3;i++)

scanf("%d",&a[i]);

min=a;

for(i=0;i<3;i++){

if(a[i]

min=a[i];

}

max=a;

for(k=0;k<3;k++){

if(a[k]>max)

max=a[k];

}

for(j=0;j<3;j++){

if(a[j]min)

middle=a[j];

}

*p1=max;

*p2=middle;

*p3=min;

printf("%d,%d,%d",*p1,*p2,*p3);

return 0;

}

#include

int main(void)

{

int *p1,*p2,*p3,a,i,min,max,middle,k,j;

for(i=0;i<3;i++)

scanf("%d",&a[i]);

min=a;

for(i=0;i<3;i++){

if(a[i]

min=a[i];

}

max=a;

for(k=0;k<3;k++){

if(a[k]>max)

max=a[k];

}

for(j=0;j<3;j++){

if(a[j]min)

middle=a[j];

}

p1=&max//取地址初始化,原来的指针未初始化,赋值无意义

p2=&middle//

p3=&min//

printf("%d,%d,%d",*p1,*p2,*p3);

return 0;

}

*p1=max;

*p2=middle;

*p3=min;

改成:

p1=&max

p2=&middle

p3=&min