有以下程序: #include int k=5; void f(int*s) {s=&k; *s=7; } main() {int m=3; f(&m); printf("%d

admin2019-01-11  22

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

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

答案D

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

最新回复(0)