在scanf()中使用&但在printf()中不使用

为什么需要在if scanf函数中使用“&”,而在printf函数中不需要使用“&”。

null

例如:

scanf("%d %d", &a, &b);
printf("%d %d", a, b);

因为上面的a和b是两个变量,每个变量都有自己的地址分配,但我们分别发送a和b的地址,而不是a和b。原因是,scanf()需要修改a和b的值,但它们是scanf()的本地值。所以为了反映主函数变量a和b的变化,我们需要传递它们的地址。我们不能简单地按价值传递它们。 但在printf函数的情况下,因为我们只在输出控制台中打印变量的值,所以变量a和b的值不会发生变化。因此不需要发送他们的地址。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享