为什么需要在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