
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++怎么运行 展开
int i=0;
do;
while(c[i++]!='\0');
printf(“%d”,i-1);
输出结果是3
请问这里的do-while和i++怎么运行 展开
2个回答
展开全部
你do后面跟了:就没有执行了,不执行任何操作;
下一步是执行在while里的判断。
i++表示先执行判断再执行i=i+1,
c[3]='/0',所以i=3这一次判断时跳出循环,并且再执行一次i=i+1,结果是4
最后输出i-1,就是3啦
下一步是执行在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++;/*在最后一次执行之后再进行一次自增*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询