跪求C语言高手解惑~~~~~~~~~小弟感激不尽!!!

已知条件为定义字符数组。chars[100],d[100];j=0,i=0,且s中已赋字符串,要实现s字符组的内容复制到d字符数组来。书上编程如下while(s[i]){... 已知条件为定义字符数组。char s[100],d[100];j=0,i=0,且s中已赋字符串,要实现s字符组的内容复制到d字符数组来。
书上编程如下 while (s[i]) {d[j]=s[i++];j++;} d[j]=0;
但我老觉得那不是把s[1]的内容赋给d[0],s[2]的内容赋给d[1]了嘛?那么s[0]的内容就被无视了嘛?????
展开
 我来答
百度网友b0bba24
2013-03-20 · TA获得超过887个赞
知道小有建树答主
回答量:446
采纳率:0%
帮助的人:504万
展开全部
s[i++]这句的意思是先用s[i],然后在i=i+1;
所以是s[0]赋给了d[0].
while (s[i]) {d[j]=s[i++];j++;}
这句还可以改成
while (s[i]) {d[j++]=s[i++];}
不信,你试一下啦
kaixingui2012
2013-03-20 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:7799万
展开全部
i++的意思是先用i,再进行i=i+1
while (s[i]) {d[j]=s[i++];j++;} d[j]=0; 相当于

while (s[i]) {d[j]=s[i]; i++; j++;} d[j]=0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小汐琴
2013-03-20 · TA获得超过194个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:154万
展开全部
i++的意思是先使用i 的值,再使i的值自增1,
当i=0时,d[j]=s[i++];表示将s[0]的值赋给d[j],再自增1。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6b264c8
2013-03-20 · TA获得超过288个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:226万
展开全部
这是变量的后++,如i++,也就是先取值,后进行++
如果是前++,如++i,先++,是再取值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
windning
2013-03-20 · TA获得超过612个赞
知道小有建树答主
回答量:227
采纳率:0%
帮助的人:323万
展开全部
当然不是啦,i++返回的是i在执行+1之前的值啊,也就是从0开始复制啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式