若有以下程序 #include voidsp(int*a) {intb=2; *a=*a*2;printf("%d,",*a); a=&b;*a=*a*2;printf("%d,",*a); } main() {intk=3; sp(&k);printf(

admin2020-05-19  21

问题 若有以下程序
#include
voidsp(int*a)
{intb=2;
*a=*a*2;printf("%d,",*a);
a=&b;*a=*a*2;printf("%d,",*a);
}
main()
{intk=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://kaotiyun.com/show/swCp777K
0

最新回复(0)