使用scanf为什么要加取地址符

waslgxl 2011-05-20 08:17:05
比如定义 数字a[0]
sacnf("\d%",&a[0]);
为什么要使用取地址符呢
不加的话会怎么样呢
...全文
1591 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
辰岡墨竹 2011-05-20
  • 打赏
  • 举报
回复
因为scanf的参数列表是不定长的,所以它不能像别的函数一样,将形参设定为引用型的,只能由调用者来做。
如果不按引用传地址的话,会按值传递参数。
無_1024 2011-05-20
  • 打赏
  • 举报
回复
吧数字存到地址里面 按引用或者地址传值的理解
KID_coder 2011-05-20
  • 打赏
  • 举报
回复
scanf("%d",&a[0]);
scanf函数会把获取的值送到一个地址~
如果不加&,则把a[0]的值当做一个地址,传送过去

每个函数都有自己的参数列表。。。
不过不传符合规定的参数,操作会危险
就想叫yoko 2011-05-20
  • 打赏
  • 举报
回复
不加就赋值不了
千杯不醉-sen 2011-05-20
  • 打赏
  • 举报
回复
这个是语法问题,算是常识或是潜规则吧,该记得就记住

33,322

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧