scanf语句+上 & 和不加 &有什么区别吗?

来源:百度知道 编辑:UC知道 时间:2024/06/08 20:39:59

scanf函数的形式:scanf(格式控制,地址表列).
&是取地址符,你不加&的话没法给变量赋值。
当然如果你定义的变量是数组形式,不加&的话是默认给数组的第0个单元赋值。
比如:scanf("%d",&a);是将你输入的数值赋给变量a,赋值的时候它会自动根据a所在单元的地址进行赋值,你不加&是没法给a赋值的。

scnaf必须加上&,这是引用方式,也就是说把读入的数据放到指定的变量中。这与函数的参数传递方式有关。如果不加&是传值调用,否则就是引用调用。