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

admin2021-06-15  8

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

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

答案C

解析 首先在主函数中给整型变量k赋值为3,调用sp函数,将变量k的地址作为实参传递给形参指针变量a;在sp函数中,*a = *a * 2;即结果为6,通过printf()函数输出。整型变量b的地址赋给指针变量a,再执行*a = *a * 2;,即结果为4,通过printf()函数输出。返回主函数,输出k的值6。因此C选项正确。
转载请注明原文地址:https://jikaoti.com/ti/z1z0FFFM
0

随机试题
最新回复(0)