有以下程序 #include int funa( int a, int b){ return a+b; } int funb( int a, int b){ return a-b; } int sss( int (*t)(), int x, int y

admin2015-07-28  24

问题 有以下程序
#include
int funa( int a, int b){ return a+b; }
int funb( int a, int b){ return a-b; }
int sss( int (*t)(), int x, int y ) { return( (*t)(x,y) ); }
main()
{ int x;
x=sss( funa, 9,3 ); x+=sss(funb,8,3 ); printf("%d\n", x );
}
程序运行后的输出结果是( )。

选项 A、17
B、23
C、24
D、22

答案A

解析 考查函数的调用。函数sss()根据参数(*t)()决定调用funa()还是funb(),所以语句"x=sss( funa, 9,3 );"执行结束后,x=12。语句"x+=sss(funb,8,3);"执行结束后,x=12+5=17,答案选A。
转载请注明原文地址:https://jikaoti.com/ti/hYn0FFFM
0

最新回复(0)