c程序输出结果

来源:百度知道 编辑:UC知道 时间:2024/05/31 21:52:40
#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);
fun(&temp,&arg1, arg2);
printf("%d\n",*arg2);
}
main()
{
int a;
show(multi,10,&a);
return 0;
}
帮我看看输出结果是多少,详细一点本人刚开始学c.

帮你修改正确了:

#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)
{
FUNC1 *p = &inc;/*这里应该为这样*/
int temp =p(arg1);
fun(&temp,&arg1, arg2);
printf("%d\n",*arg2);
}

main()
{
int a;
show(multi,10, &a);
getch();
return 0;
}

输出结果:110
a =(10+1)*10 = 110 ;

show()函数中的INCp没有定义,所以会输出错误信息。

如果你知道代码又有电脑,干嘛不直接到turboC 里面去敲一下,在这里岂不是浪费时间~~~