有以下程序: #include void fun(int x,int y,int*z) { *z=y—x;} main() { int a,b,c; fun(10,5,&a);fun(

admin2016-04-07  25

问题 有以下程序:
    #include   
    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://kaotiyun.com/show/JCDp777K
0

最新回复(0)