永发信息网

C++中的一个问题,知道者请帮忙解答,越详细越好!

答案:4  悬赏:10  手机版
解决时间 2021-04-25 22:11

以下程序的输出结果为什么是:8,3?

知道者请写下它的工作步骤,越详细越好!

#include <iostream>
using namespace std;
int main()
{
int i(1),a(0);
for(;i<=5;i++)
{
do
{
i++;
a++;
}while(i<3);
i++;
}
cout<<i<<","<<a<<endl;
return 0;
}

最佳答案

int i(1),a(0);// i = 1, a = 0;
for(;i<=5;i++)
{
do
{
i++;// i = 2, a = 0;
a++;// i = 2, a = 1;
}while(i<3);// 此处判断为真,继续do语句;


do
{
i++;// i = 3, a = 1;
a++;// i = 3, a = 2;
}while(i<3);// 此处判断为假,结束do语句;


i++;// i = 4, a = 2;
}


//
for(;i<=5;i++)// 先执行for中的第三句 i++, 这时i=5,a=2;
// 再判断 i<=5 为真,继续for循环
{
do
{
i++;// i = 6, a = 2;
a++;// i = 6, a = 3;
}while(i<3);// 此处判断为假,结束do语句;


i++;// i = 7, a = 3;
}


for(;i<=5;i++)// 先执行for中的第三句 i++, 这时i=8,a=3;
// 再判断 i<=5 为假,结束for循环

全部回答

i=1,经过do……while循环后变为2(a=1),2《3,最后变为3(a=2),然后i++,i=4,然后for里面的i++,i=5,

又过do……while循环变为6(a=3),6》3,然后i++,i=7.

dowhile是先do在用while的值判断还do不do了。

int main() { int i(1),a(0); //初始i=1 a=0; for(;i<=5;i++) //每当变量i循环一次时执行do循环 { do //由于是do...while循环,不管怎么样先执行一次do循环内的语句再判断 { i++; a++; }while(i<3); i++; } cout<<i<<","<<a<<endl; return 0; }
一共只执行了2次for循环 第一次进入for,i=1,a=0 do-while里i+=1=2,a+=1=1,此时i=2<3,所以再次do-while,i+=1=3,a+=1=2,由于i=3>=3所以结束while循环,而且以后再次进入for时这个while只执行一次。 然后执行while后面的i++,i+=1=4,到此第一次循环结束,执行for里的i++,i+=1=5,此时i=5,a=2 第二次循环i=5<=5,所以进入for继续 进入do-while,i+=1=6,a+=1=3,结束do-while,然后i+=1=7,到此第二次for循环结束,执行for里的i++,i+=1=8,此时i=8,a=3。由于i=8>5,所以for循环结束,所以输出为8,3
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎样才能忘记一个曾经爱过的人
为什么切洋葱会哭啊
有喜欢穿棉船袜的女孩吗?
一部小时候的动画片 有个外星人 头顶有个黄色
国金酒楼地址有知道的么?有点事想过去
中星九号最新升级
斗破苍穹,武动乾坤中的经典语录
什么样的人才会对自己很好?
社保年限问题
qb怎么转账给别人
谁会完成这个图片
如何让一个失去信心的人,再次东山再起?
手机在自己的机房丢了,能找回来么?
杭州汽车东站现在在九堡吗?到了汽车东站到浙
赛格电脑地址在哪,我要去那里办事
推荐资讯
不是每一道江流都能入海,不流动的便成了死湖
隐居,苟且偷生 的成语
导购员试用期该怎么做,怎样才能做好导购?
口袋妖怪超级绿宝石7.0看看洞怎么走?
谁有未来之城安装包
飞车创建几年了
怎么。学习数学。。
花开的时间是多少
女子无才便是德 是什么来意 问什么会这样说
头发头发头发
下面这是什么意思啊~~急救急救啊~~~
荣事达滚筒洗衣机的问题啊
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?