永发信息网

C语言简单程序运行

答案:4  悬赏:30  手机版
解决时间 2021-05-16 22:54
  • 提问者网友:你给我的爱
  • 2021-05-15 22:53

解释一下原因   看不太懂啊

最佳答案
  • 五星知识达人网友:你哪知我潦倒为你
  • 2021-05-16 00:00

就是一个形参和变参的问题啦。。


如果 void f(struct A *t) {..........};
调用的时候是 f(&a);


答案就是b了

全部回答
  • 1楼网友:笑迎怀羞
  • 2021-05-16 01:12
因为采用的是值传递方式,所以会构造一个A结构传给f函数。f修改的只是构造的那个变量。执行完后修改后的值并没有反映到原来的变量上。所以原来的变量值不会变。
  • 2楼网友:醉吻情书
  • 2021-05-16 00:58
哦,是选A吧
  • 3楼网友:撞了怀
  • 2021-05-16 00:08

A

f(a) 这个过程改变的是a一个副本的值,真是的a值并没有发生任何的改变,这是个值传递的过程

如果改成指针也就是f()的参数是个指向struct A的指针,那么值将改变,结果就会选B

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯