c程序如下:
#include<stdio.h>
void main ()
{
int a,b,*maxp,max;
int *maxf(int,int);
scanf("%d%d",&a,&b);
maxp=maxf(a,b);
printf("max=%d",*maxp);
printf("max=%d",*maxp);
printf("max=%d",*maxp);
}
int *maxf(int c,int d)
{
int z;
z=c>d ? c:d;
return(&z);
}
输出结果为:max=9max=1我已经知道函数是局部变量有问题,想高手解释下两个输出函数为何不一样,如果继续输出还是1,谁能清楚的解释一下,解释清楚再追加30悬赏。