函数传参有两种方式:值传递和址传递
scanf函数在运行时需要对变量重新进行赋值,需要改变该变量的值,因此需要采用址传递的方式,对变量进行取地址操作。
简而言之你首先int 了个a。
然后你要给a赋值,你用了scanf来进行输入
scanf("%d",a);
这时候的a是形式参数,并不是我们定义的那个a,所以无法给我们定义的a赋值。(形参不能改变实参)
scanf("%d",&a);
所以我们需要地址符&将形参存入我们的实参中。
原文链接:https://blog.youkuaiyun.com/chdcb/article/details/120347362