有以下程序
#include <stdio.h>
int k=5;
void f(int *s)
{
s=&k;
*s=7;
}
main( )
{
int m=3;
f(&m);
printf("%d,%d", m, k);
}
程序运行后的输出结果是( )

  • A3,5
  • B7,7
  • C5,7
  • D3,7
参考答案: D
解题思路: 函数f()的功能是定义一个整型的指针变量s,指向全局变量k,然后修改s指向地址中的值为7,因此f()函数只是修改全局变量k的值为7,与main()函数中临时变量m无关,因此最后输出为3,7,答案为D选项。>>>立即刷题