#include<stdio.h>
void max(int a,int b);
int main()
{
int a,b;
void (*p)(int,int);
p=max;
*p(a,b);
return 0;
}
void max(int a,int b)
{
scanf("%d%d",&a,&b);
if(a>b) printf("%d",a);
else printf("%d",b);
}
#include<stdio.h>
void max(int a,int b);
int main()
{
int a,b;
void (*p)(int,int);
p=max; //去掉*
p(a,b);
return 0;
}
void max(int a,int b)
{
scanf("%d%d",&a,&b);
if(a>b) printf("%d",a);
else printf("%d",b);
}
max函数结束后max函数的形参的内存就会被释放,所以你这样写是不对的应该改成:
void max(int *a,int *b)
{
scanf("%d%d",a,b);
if(*a>*b) printf("%d",*a);
else printf("%d",*b);
}
#include<stdio.h>
void max(int *a,int *b);
int main()
{
int a,b;
void (*p)(int*,int*);
p=max;
*p(&a,&b);
return 0;
}