有以下程序 #include <stdio.h> int k=5; void f(int *s) { s=&k; *s=7; } main( ) { int m=3; f(&m); printf("%d,%d\n"

admin2021-07-09  16

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

选项 A、3,5
B、7,7
C、5,7
D、3,7   

答案D

解析 函数f()的功能是定义一个整型的指针变量s,指向全局变量k,然后修改s指向地址中的值为7,因此f()函数只是修改全局变量k的值为7,与main()函数中临时变量m无关,因此最后输出为3,7,答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/7ltp777K
0

最新回复(0)