char c[]=“abc”; int i=0; do; while(c[i++]!='\0');

charc[]=“abc”;inti=0;do;while(c[i++]!='\0');printf(“%d”,i-1);输出结果是3请问这里的do-while和i++怎... char c[]=“abc”;
int i=0;
do;
while(c[i++]!='\0');
printf(“%d”,i-1);
输出结果是3
请问这里的do-while和i++怎么运行
展开
 我来答
嘎嘎的坏坏先生
推荐于2016-09-02 · TA获得超过186个赞
知道答主
回答量:44
采纳率:100%
帮助的人:9.5万
展开全部
你do后面跟了:就没有执行了,不执行任何操作;
下一步是执行在while里的判断。
i++表示先执行判断再执行i=i+1,
c[3]='/0',所以i=3这一次判断时跳出循环,并且再执行一次i=i+1,结果是4
最后输出i-1,就是3啦
更多追问追答
追问
哦哦,就相当于while(c[i]...)i++;是这样吗?
追答
不是的,i++不能写在括号外边,这样最后一次判断之后就不会执行i ++ 了。
应该是while(c[i]...)i++;i++;/*在最后一次执行之后再进行一次自增*/
d1415926535
2013-12-28 · TA获得超过878个赞
知道小有建树答主
回答量:383
采纳率:0%
帮助的人:389万
展开全部
do-while就是先执行一遍do之后的指令,然后判断while的条件,符合则循环至do的位置继续执行。i++就是i=i+1的意思
更多追问追答
追问
那这题的do-while和i++怎么连接使用,答案怎么出来的,求详解
追答
循环过程为:i       c[i]0     a1     b2     c3     \0此时结束循环  ,因为是i++ ,故是先使用 i 再递加 i ,3再加1为4输出i-1为 3,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式