若有以下程序 #include main(){int k=3: void sp(int*a){int b=2; sp(&k); *a=*a*2;printf("%d\n",k); printf("%d,",*a)

admin2019-07-14  24

问题 若有以下程序
    #include    main(){int k=3:
    void sp(int*a){int b=2;    sp(&k);
    *a=*a*2;printf("%d\n",k);
    printf("%d,",*a);    }
    a=&b:
    *a=*a*2;
    printf("%d,",*a);}
    则程序的输出结果是

选项 A、6,4,6
B、6,4,3
C、6,12,12
D、9,4.9

答案A

解析 本题考查了指针作为函数的参数,可以接收实参变量的地址,改变实参的值。主函数调用sp(&k),执行sp函数a指向向k,执行语句*a=*a*2后a指向空间的值k的值为6,改变a的指向以后,此时a指向b,则执行*a=*a*2以后,a指向空间b的值为4。调用结束返回主函数,输出k的值为6。
转载请注明原文地址:https://kaotiyun.com/show/wuRp777K
0

最新回复(0)