有以下程序 #include <stdio.h> void fun( int x, int y, int *z ) { *z = y-x; } main() { int a, b, c; fun(10,5,&a ); fun(7

admin2020-01-10  17

问题 有以下程序
#include <stdio.h>
void  fun( int x, int y, int *z )
{   *z = y-x;  }
main()
{  
   int   a, b, c;
   fun(10,5,&a ); fun(7,a,&b ); fun(a,b,&c );
   printf("%d,%d,%d\n", a,b,c );
}
程序运行后的输出结果是

选项 A、5,2,3
B、-5,-12,-7
C、-5,-12,-17
D、5,-2,-7

答案B

解析 程序执行过程为:调用函数fun(10,5,&a ),将变量a地址传入函数,a=5-10=-5;调用函数fun(7,a,&b),将变量b地址传入函数,b=-5-7=-12;调用函数fun(a,b,&c),将变量c地址传入函数,c=-12-(-5)=-7。输出-5,-12,-7,B选项正确。
转载请注明原文地址:https://jikaoti.com/ti/cSG0FFFM
0

最新回复(0)