下列代码(C语言)的输出内容?
写出下列代码的输出内容#include<stdio.h>intinc(inta){return(++a);}intmulti(int*a,int*b,int*c){ret...
写出下列代码的输出内容 #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; }
展开
1个回答
展开全部
INCp=&inc;
应该是
FUNC1
p
=
&
inc
吧?
整个
main
()
就执行了一个
show
(
multi,
10,
&a)
执行过程中,
tmp
=
inc
(
arg1
);
tmp
就是
10+1,
11;arg1
因为是传值,不受影响。
然后
fun
(
&tmp,
&arg1,
arg2)
fun
就是
multi,它把
tmp,
arg
的值乘起来赋值给
arg2
指向的位置,也就是
main
()
里面的
a,结果是
110
printf
的输出结果是
110
应该是
FUNC1
p
=
&
inc
吧?
整个
main
()
就执行了一个
show
(
multi,
10,
&a)
执行过程中,
tmp
=
inc
(
arg1
);
tmp
就是
10+1,
11;arg1
因为是传值,不受影响。
然后
fun
(
&tmp,
&arg1,
arg2)
fun
就是
multi,它把
tmp,
arg
的值乘起来赋值给
arg2
指向的位置,也就是
main
()
里面的
a,结果是
110
printf
的输出结果是
110
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询