社区
C语言
帖子详情
关于scanf()函数的一点小疑问
mengjiacun
2012-09-17 10:31:50
float a;
scanf("%f",&a);与下面的这个语句
char name1[11];
scanf("%5s ",name1);一个加了&符号,一个没有加&符号,有何区别啊?
...全文
73
4
打赏
收藏
关于scanf()函数的一点小疑问
float a; scanf("%f",&a);与下面的这个语句 char name1[11]; scanf("%5s ",name1);一个加了&符号,一个没有加&符号,有何区别啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
自信男孩
2012-09-17
打赏
举报
回复
严格上说是没区别的。scanf("", );的第二个参数是一个地址,就是输入的数据要放到内存中的某个地址里。
float a;
scanf("%f",&a);与下面的这个语句
char name1[11];
scanf("%5s ",name1);
第一个变量a是一个float类型的,输入的数据要放到a的内存地址里,所以需要加&,
第二个变量时字符数组,name1本身表示一串字符的首地址,所以就不用加&了。
Gloveing
2012-09-17
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
不要只看有无&,要看本质, scanf函数是需要取地址的, &a为去a的地址, 按%f格式读取
name1本身就是地址,所以不需再加&,本例中,name1 = &name1[0]
[/Quote]
++
数组名字就代表了数组首地址
yaya_lucky
2012-09-17
打赏
举报
回复
不要只看有无&,要看本质, scanf函数是需要取地址的, &a为去a的地址, 按%f格式读取
name1本身就是地址,所以不需再加&,本例中,name1 = &name1[0]
赵4老师
2012-09-17
打赏
举报
回复
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方,而且通常编译还不出错。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。
C语言中
scanf
函数
用法详解
scanf
的使用看似细节繁杂,但使用起来非常简单。就目前而言,只要掌握以下五点: 1. 在
scanf
的“输入参数”中,变量前面的取地址符&不要忘记。 2.
scanf
中双引号内,除了“输入控制符”外什么都不要写。 3. ...
c 语言内部
函数
的
一点
疑问
C语言内部
函数
的
一点
疑问
如果一个
函数
只能被本文件中其他
函数
所调用,他称为内部
函数
。在定义内部
函数
时,在
函数
名和
函数
类型的前面加static,即: static 类型标志符
函数
名 (形参表); 内部
函数
又...
C语言笔记2 --新手常常犯的错误之
scanf
()
接着上次的输出
函数
,这次我们来细细的讲一下输入
函数
: ...在用这个
函数
的时候同学们常常会出一些小毛病,而这些毛病,对于刚刚进入编程大门的同学来说,是很难发现的。 这里我稍微详细的介绍下这个与输出对应的...
【C语言航路外传】输入输出
函数
及输入缓冲区的那点事
C语言航路外传之输入输出
函数
及输入缓冲区的那点事
“输入输出
函数
对比及总结”和 const
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、输入输出
函数
对比及总结 ... 1>
scanf
函数
2> gets
函数
3> fgets
函数
1>
scanf
函数
特点 优点:可以格式化输入
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章