有如下程序 #include <stdio.h> int change(int* data) { return (*data) ++; } main() { int data = 123; change(&data); p

admin2020-06-16  36

问题 有如下程序
#include <stdio.h>
int change(int* data)
{
    return (*data) ++;
}
main()
{
    int data = 123;
    change(&data);
    printf("%d,", data);
    data = change(&data);
    printf("%d,", data);  printf("\n");
}
程序运行后的输出结果是

选项 A、124,124,
B、123,124,
C、124,123,
D、123,123,

答案A

解析 本题程序执行过程为:调用change函数,将变量data地址传入函数,返回当前指针指向的变量值123,之后此变量加一,data=124。输出data=124。再次调用函数,返回当前指针指向的变量值124,然后此地址内存中变量加一,data=125,然后将返回值124赋给变量data=124,最后输出data=124。A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/NpCp777K
0

最新回复(0)