为什么scanf要用地址引用符
我在看到这个函数的时候,第一反应是为什么不直接写成scanf("%d",a);的形式,偏偏要用scanf("%d",&a);
后来发现,那是你在申明变量的时候,后面引用该变量给它赋值,你如果直接在函数内对它赋值,是在函数体内生效的,而在函数外,a的值还是以前的值,你不过是对该变量进行了一次拷贝而已。
所以你要修改变量的值,你必须要取它的内存地址,然后赋值,才能对该变量进行替换。所以这里需要用&取地址符
为什么scanf要用地址引用符
我在看到这个函数的时候,第一反应是为什么不直接写成scanf("%d",a);的形式,偏偏要用scanf("%d",&a);
后来发现,那是你在申明变量的时候,后面引用该变量给它赋值,你如果直接在函数内对它赋值,是在函数体内生效的,而在函数外,a的值还是以前的值,你不过是对该变量进行了一次拷贝而已。
所以你要修改变量的值,你必须要取它的内存地址,然后赋值,才能对该变量进行替换。所以这里需要用&取地址符