首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

能解释一下吗解决办法

2012-02-21 
能解释一下吗#include stdio.hintinc(inta){return(++a)}intmulti(int*a,int*b,int*c){return(*c*a**b

能解释一下吗
#include <stdio.h>
int   inc(int   a)
{
return(++a);
}
int   multi(int*a,int*b,int*c)
{
return(*c=*a**b);
}
typedef   int(FUNC1)(int   in);                   \\
typedef   int(FUNC2)   (int*,int*,int*);\\这里两句怎么解释呀。。

void   show(FUNC2   fun,int   arg1,   int*arg2)
{
INCp=&inc;                                                           \\这个是什么意思。。
int   temp   =p(arg1);                                           \\可以这样定义吗?p(arg1)是什么?
fun(&temp,&arg1,   arg2);
printf( "%d\n ",*arg2);
}

main()
{
int   a;
show(multi,10,&a);                                               \\这里也不懂,multi不知道怎么回事
return   0;
}
答:110

这是网上搜索到的一道面试题,盼大哥们帮忙。。

[解决办法]
void show(FUNC2 fun,int arg1, int*arg2)
{
INCp=&inc; \\这个是什么意思。。
int temp =p(arg1); \\可以这样定义吗?p(arg1)是什么?
fun(&temp,&arg1, arg2);
printf( "%d\n ",*arg2);
}
==》
void show(FUNC2 fun,int arg1, int*arg2)
{
FUNC1 p=&inc; \\定义函数指针变量,并赋值为inc 函数入口
int temp =p(arg1); \\p(arg1)就是 inc(arg1)
fun(&temp,&arg1, arg2);
printf( "%d\n ",*arg2);
}

main 中的也类似 ~

热点排行