c语言初学者,多多请教
请看看以下的一个代码:#include"stdio.h"
void main()
{
int add(int);
int mul(int);
int div(int);
void integer(int,int(*function)(int));
printf("the result of the function:\n");
printf("x+3=");
integer(3,add);
printf("2*x+3=");
integer(4,mul);
printf("x/2-3=");
integer(6,div);
}
int add(int x)
{
int sum;
sum=3+x;
return(sum);
}
int mul(int x)
{
int res;
res=2*x+3;
return(res);
}
int div(int x)
{
int res;
res=x/2-3;
return(res);
}
void integer(int x,int(*fun)(int x))
{
int res;
res=(*fun)(x);
printf("%d\n",res);
}
为什么把那个integer函数前的void类型改成int类型就不行呢,他们又什么区别吗,还是有其他的知识我遗忘了?