若有以下程序 #include <stdio.h> void sp(int *a) { int b=2; a=&b; *a = *a * 2; printf("%d,", *a);

admin2020-06-16  11

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

选项 A、4,3,3
B、4,3,4
C、6,3,6
D、6,6,6

答案A

解析 首先在主函数中给整型变量k赋值为3,将变量k的地址赋给指针变量p;调用sp函数,将实参p的值传给形参a,在sp函数中,指针变量a又获得变量b的地址,通过运算后,输出a的值为4;返回主函数,输出k的值和p的值为3和3。因此A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/yMG0FFFM
0

相关试题推荐
最新回复(0)