求两个数中最大者的指针问题
如下六个程序:程序1:
#include "stdio.h"
void main()
{
int *max(int x,int y);
int *c;
c=max(5,6);
printf("max=%d",c);
getch();
}
int *max(int x,int y)
{
int *k,m;
m=x>y?x:y;
k=&m;
return *k;
}
程序2:
#include "stdio.h"
void main()
{
int *max(int x,int y);
int *c;
c=max(5,6);
printf("max=%d",*c);
getch();
}
int *max(int x,int y)
{
int *k,m;
m=x>y?x:y;
k=&m;
return k;
}
程序3:
#include "stdio.h"
void main()
{
int *max(int x,int y);
int c;
c=*max(5,6);
printf("max=%d",c);
getch();
}
int *max(int x,int y)
{
int *k,m;
m=x>y?x:y;
k=&m;
return k;
}
程序4:
#include "stdio.h"
void main()
{
int *max(int x,int y);
int *c;
c=*max(5,6);
printf("max=%d",c);
getch();
}
int *max(int x,int y)
{
int *k,m;
m=x>y?x:y;
k=&m;
return k;
}
程序5:
#include "stdio.h"
void main()
{
int *max(int x,int y);
printf("max=%d",*max(5,6));
getch();
}
int *max(int x,int y)
{
int *k,m;
m=x>y?x:y;
k=&m;
return k;
}
程序6:
#include "stdio.h"
void main()
{
int *max(int x,int y);
printf("max=%d",max(5,6));
getch();
}
int *max(int x,int y)
{
int *k,m;
m=x>y?x:y;
k=&m;
return *k;
}
为什么这六个程序的输出结果是一样的?哪为高手能帮偶分析分析?
----------------解决方案--------------------------------------------------------
一种返回的地址。。一种返回的指针所指向变量的值
----------------解决方案--------------------------------------------------------