单选题
有以下程序:
#include<stdio.h>
int k=5;
void f(int *s)
{ s=&k;
*s=k;
}
main()
{ int m=3;
f(&m);
printf("%d,%d/n",m,k);
}
程序运行后的输出结果是______。
【正确答案】
C
【答案解析】[解析] 函数f()的功能是:定义一个临时的整型指针变量s,指向全局变量k,然后用k的值对s指向的内存地址进行赋值,结果当然是k的值不变;在main函数中,调用f()函数,虽然使用m的地址初始化s,但是s在f函数内部又被指向k的地址,所以s的后续操作对m没有任何影响,因此最后输出为3,5,答案为C选项。