有如下程序 #include int change(int* data) { return (*data) ++; } main() { int data = 123; change(&data); printf("%d,", data); data

admin2015-07-28  27

问题 有如下程序
#include
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指向的变量的数值并返回之后该数值再自增。函数为地址传参,形参与实参的变化保持同步,所以调用语句"change(&data);"执行完毕后,data的值为123+1=124,调用语句"data = change(&data);",函数change()将返回值赋值给data,返回的是变化之前的数据,所以输出结果仍然是124,答案选A。
转载请注明原文地址:https://jikaoti.com/ti/uMn0FFFM
0

最新回复(0)