scanf 为什么强调要加,C中给变量赋值时用scanf为什么变量前面要加呢

1,C中给变量赋值时用scanf为什么变量前面要加呢变量前加&是取地址的意思scanf的赋值是通过找到变量的地址去赋值的 。与c++的输入输出流不同 。不一定要加&,要点在于后面的参数必须是地址 。而&就是取地址&就是取地址的意思 , scanf("%d",&a);就是给a的地址一个整数,学了指针就知道了
2,scanf语句中变量前为什么必须加如题 谢谢了scanf 函数要求输入的是变量的地址,如果你输入a 那么就变成 把输入的值放在 地址为 a 的内存空间那么显然和你的目的把输入的内容放入a 是有区别的比如a 的值为 1000,a的地址为 90000(&a),显然如果你 打 scanf( "%d ",&a)就是把变量存入a 变量 [scanf( "%d ",90000)],如果你输入 scanf( "%d ",a)就存入了地址为1000的内存空间 满意请采纳1 第一种:100 25.81 1.892342 第二种:10025.811.892343 第三种:10025.81 1.89234【scanf 为什么强调要加,C中给变量赋值时用scanf为什么变量前面要加呢】
3,scanfff为啥要加&为取地址运算符,如果是普通变量,必须用,如果不用,则无法赋值,示例如下:int a;scanf("%d",&a);如果为数组、指针或字符串,就要看情况了:int a,*p;p=&a;scanf("%d",p);输入语句中&是地址符,不过,输入字符串不需要加因为scanf函数要改变f的值 , 而c语言的函数只能单向值传递,不传送f的地址的话就无法改变f的值,所以参数就用地址了好比变量名f就是一个箱子,这个箱子的名字叫F 箱子里面是存浮数点 。scanf接收一个浮数点,他要把这个浮数点放进 这个名叫f的箱子,要去寻找这个箱子就加个&表示此变量是地址变量名 , f是一个存放数据的地址名 。

    推荐阅读