/*
调用函数有2种方式:
(1)直接调用 如:s=hehe(i); 变量=函数名(参数);如无返回值就把变量=去掉
(2)间接调用:用指针函数,指针函数的定义格式
类型(*指针名)(函数的参数类型);这个类型跟你要调用的函数的返回值是一样的
参数类型也跟你要调用的函数的参数类型一样,里面只写类型就行
如你定义了一个函数 int hehe(int i);
那么我可以这样调用它:
int(*p)(int ),s,i;
p=hehe; //指向这个函数
scanf("%d",&i);
s=(*p)(i);
大概就是这样吧,不明白给我留言
*/
#include
int main()
{
int hehe(int ); //函数声明应该写明它的返回值和参数类型
int i,s,(*p)()=hehe; //函数指针p指向函数hehe
printf("please input i\n");
scanf("%d",&i); //少了个取地址符号
s=hehe(i); //直接调用
printf("(1)hehe(%d)=%d\n",i,s);
s=(*p)(i); //用指针函数来调用
printf("(2)hehe(%d)=%d\n",i,s);
getch();
return 0;
}
int hehe(int y)
{
return (y=y+y);
}