有定义语句:int b;char c[10];则正确的输入语句是?

答案是scanf("%d%s",b,c);可是我认为是scanf("%d%s",&b,&c);这到底怎么回事?... 答案是scanf("%d%s",b,c);
可是我认为是scanf("%d%s",&b,&c);这到底怎么回事?
展开
 我来答
passgod
推荐于2017-09-27 · TA获得超过4890个赞
知道大有可为答主
回答量:4295
采纳率:0%
帮助的人:4249万
展开全部
都错,应该是
scanf("%d%s",&b,c);
b是变量,&才是其地址;
c是数组,是数组的第一个的地址,本身就是地址,所以直接用。如果用&c,就成了指针的地址了,就错了。
剑银抄明煦
2020-02-25 · TA获得超过3896个赞
知道大有可为答主
回答量:3119
采纳率:29%
帮助的人:197万
展开全部
因为读入的时候是把数据存在内存里面的一个空间里面,所以你要给将要读入的数据提供那个空间的地址。你要把int型数据存到b里面,所以你要提供b的地址&b。但是对于字符串,你只需提供首地址,而字符串的首地址就是字符串的名称,所以不需要加&符号。所以答案选b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式