这道题完全不懂,,求解释

 我来答
wangnasa
2012-09-10 · TA获得超过776个赞
知道小有建树答主
回答量:732
采纳率:100%
帮助的人:630万
展开全部
gets() 函数是从键盘获得一个字符 里面的参数 是字符指针 char *s
所以gets(s); 是对的 ; 另外 char s[5]; 是定义了char的5个元素的数组其中第一个元素表示为s[0]
那么他的地址 形式就是 &s[0] 所以 gets(&s[0]) ;也是对的。
scanf(foramt,parameter pointer);
第一个参数是输入的格式 如 “%d” 输入一个整形数据
第二个参数是变量指针

所以当定义数组 char s[5];
数组第二个元素的地址表示为&s[1] 也可写作(s+1); 所以当int i=1;时

有 scanf("%s",s+1); 是对的
因为的二个参数要求使用指针类型 而s[1]不是指针类型 所以错了
furious_tauren
2012-09-10 · TA获得超过4053个赞
知道大有可为答主
回答量:1913
采纳率:100%
帮助的人:733万
展开全部
D

gets的参数 和 scanf的第二个参数 的类型都是 指针。
&s[0] 是地址
s + 1 是地址
s 是地址

s[1] 是char型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我爱江文宾
2012-09-10 · TA获得超过110个赞
知道答主
回答量:32
采纳率:0%
帮助的人:14.6万
展开全部
操,下面不是有答案吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式