地址传入scanf而不是printf [重复]

问题描述 投票:1回答:2

可能重复: Why scanf must take the address of operator

为什么我们在printf()的情况下传递变量,而在scanf()的情况下传递变量的地址?为什么要在scanf中传递地址

c printf scanf
2个回答
4
投票

why to use '&' in scanf( ) but not in printf( )

'printf'()'只需输出值就可以输出它们。 'scanf()'存储值,因此它需要一个存储它们的地方。这是通过提供存储值的位置(指针)来完成的。


2
投票

使用scanf,您希望被调用者修改变量,这就是您通过引用传递它的原因,如果您通过值传递它,就像使用scanf一样,您将无法访问变量地址来修改其内容。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.