【发布时间】:2019-10-08 05:42:53
【问题描述】:
我对此代码的第 2 行和第 9 行有疑问。
我已经在代码块上运行了这段代码,结果发现 trip(&y) 运行并在第 9 行末尾生成 y=21。这不是我所期望的。
我认为&y 会返回地址(如十六进制数字)并将其传递给trip。然后trip 将使地址的奇怪(十六进制)数字增加三倍,并可能更改int y 的地址,或者产生错误。
我的逻辑的哪一部分有问题?
我的逻辑是:
-
&y返回变量的地址(十六进制)。 -
trip (int* x)接收数字(在这种情况下为地址)并将其增加三倍。 - 因此,没有对
y的实际值(7)进行任何处理。
编辑:答案是 105。
【问题讨论】:
-
答案是 105
-
副本在 C 上,但此处提出的问题(与指针相关)已在此处得到解答。
-
请edit 将附加信息添加到问题中,而不是将其隐藏在评论中。
-
&y是y的地址是的,交给函数。但是,您错过了内部函数*x,而不是纯x。阅读*运营商。
标签: c++