c语言取地址的规则是什么 为什么有些取地址加&有些不加

这里面scanf("%d",&m);与scanf("\t%s",s);为何不一样... 这里面scanf("%d",&m); 与scanf("\t%s",s); 为何不一样 展开
 我来答
b_spike
2015-11-12 · TA获得超过3689个赞
知道大有可为答主
回答量:3724
采纳率:78%
帮助的人:1207万
展开全部
scanf("\t%s",s);这不用加&是因为s本身就是&s[0]
s被定义为数组类型,数组名就是数组的首地址,所以s等同于&s[0]

可以肯定的是,scanf输入时,格式占位符对应的必须是内存地址
另外,%s是输入字符串,而字符串在C里面就是字符数组,因此也只需要提供数组名(数组首地址)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式