c语言问题scanf

为什么scanf里面必须要加&,不加就会程序错误??

这个是scanf语句的要求,你必须满足它

%d格式是将int型数据输入后存放到int型变量中,这个变量不能只提供变量名,需要提供地址,求地址的办法就是加&进行运算得到

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-09
这是为格式输入的函数中规定后面的参数必须是要读取数据以后所存放数据的地址,所以,存储数据的变量前面要加入取地址符&。追问

我记得以前不用&啊,是不是这个是c++的新东西,c里面没有

本回答被提问者和网友采纳
第2个回答  2019-10-10
输入语句scanf()函数,它的参数是需要变量的地址,而不能用变量名。如输入变量a的值,要用&a(&是取址运算符),不能使用a做参数:
正确:scanf("%d",&a)
错误:scanf("%d",a)
这是函数要求的。
有什么问题请留言。
第3个回答  2019-10-10
这是scanf所要求的 它假定你给的是个地址 然后去访问 如果地址不对就会出错 再者scanf会传出值 就是利用输入的地址
第4个回答  2019-10-09
&是取地址运算符,加了变量就是变量的地址。
相似回答