scanf是赋值类的,需要存入指定的地址
scanf需要修改变量的能力
scanf,传入的参数是值传递, 没办法修改到原变量,所以必须要取地址.
简而言之你首先int 了个a。
然后你要给a赋值,你用了scanf来进行输入
scanf("%d",a);
这时候的a是形式参数,并不是我们定义的那个a,所以无法给我们定义的a赋值。(形参不能改变实参)
scanf("%d",&a);
所以我们需要地址符&将形参存入我们的实参中。
这就是为什么scanf要地址的原因。
scanf是赋值类的,需要存入指定的地址
scanf需要修改变量的能力
scanf,传入的参数是值传递, 没办法修改到原变量,所以必须要取地址.
简而言之你首先int 了个a。
然后你要给a赋值,你用了scanf来进行输入
scanf("%d",a);
这时候的a是形式参数,并不是我们定义的那个a,所以无法给我们定义的a赋值。(形参不能改变实参)
scanf("%d",&a);
所以我们需要地址符&将形参存入我们的实参中。
这就是为什么scanf要地址的原因。