永发信息网

求解释A选项为什么错了呀,什么叫固定执行8次呀,还有B选项输出的结果是, 答案是D

答案:2  悬赏:20  手机版
解决时间 2021-03-25 02:43
求解释A选项为什么错了呀,什么叫固定执行8次呀,还有B选项输出的结果是, 答案是D
最佳答案
#include
int i, n;
for(i=0; i<8; i++)
{
n=rand() % 5;
switch(n)
{
case 1:
case 3: print("%d\n", n); break;
case 2:
case 4: printf("%d\n", n); continue;
case 0: exit(0);
}
printf("%d\n", n);
}

A) for 循环语句固定执行 8 次。
“固定执行8次”就是说这个循环肯定会循环8次的意思。
这是不对的,因为执行 n=rand() % 5; 后 n 的值的范围是 0 - 4,
如果某次循环过程中, n 为 0 时,
case 0: exit(0); 就会执行,程序会结束运行。
所以 for 循环未必能运行 8 次。
B) 当产生的随机数 n 为 4 时结束循环操作。
这是不对的,因为当 n 为 4 时,
case 4: printf("%d\n", n); continue; 会被执行。
其中的 continue; 表示立即进行下一个循环。
所以循环不会因此结束。
C) 当产生的随机数 n 为 1 和 2 时不做任何操作。
这是不对的,因为当 n 为 1 和 2 时,
程序会分别进入 case 1: 和 case 2: 分支运行,
虽然这他个分支没有内容,但由于这两个分支没有 break; 语句,
所以程序会进行它们下面的 case 3: 和 case 4: 分支运行。
D) 当产生的随机数 n 为 0 时结束程序运行。
这是对的,因为当 n 为 0 时,
程序会进入 case 0: exit(0); 分支运行,
其中的 exit(0); 表示结束程序运行。追问for语句不是不管内部是什么,for自己不是从i=0开始一直执行到i=8结束吗?那不是执行8次吗?追答有三种特殊情况可以改变 for 循环的次数


如果在 for 内部执行了 break,会提前结束整个 for 循环。
但本例中的 break 不属于这种情况,因为本例中的 break 是作用于 switch 的。
如果在 for 内部执行了 exit(0),会提前结束整个程序。
本例中的 exit(0) 可以提前结束整个程序,for 循环当前也会被提前结束。
如果在 for 循环过程中,改变了循环变量 i 的值,将会改变 for 的循环次数。
本例中,循环变量 i 的值没有被修改。
追问在循环中i的值可以改变吗?那是什么情况呀追答比如:
for(i=0; i<8; i++)
{
i++;

}
这个 for 只会循环 4 次追问for(i=0;i<8;i++)
{int i=6
}这样呢这个有影响吗?追答for(i=8; i<8; i++)
{
int i=6

}
应该写成

for(i=8; i<8; i++)
{
i=6;

}
否则应该不能通过编译吧(会提示你:变量重复定义)

for(i=8; i<8; i++)
{
i=6;

}
这个 for 将无限次地循环(死循环)追问为什么呀,不是i=6后面i++吗?然后不就退出循环了吗?追答i=6;
然后
i++
这时候 i 是 7,但 7 小于 8 循环条件还是成立,还是会循环
然后又是:1=6
……
就远循环下去。
全部回答
A最多执行8次。
B当n为5的倍数时,结束执行。追问n为5的倍数时,那它是怎样退出for循环的呀追答case (0):exit(0);退出程序追问当随机取的数是6时,n=1对吗?追答是的.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
翻译这篇文言文,翻译清楚
胡夏其中有一首歌中歌词是回忆的夏天这是什么
姐姐跟妈妈吵架,我该怎么办
①如图甲所示,烧杯中有高低两支燃烧的蜡烛,
直管切9O度弯头的最简单方法
日语レア物什么意思
求高音音符图片
如何在市场挑选车厘子?辨别好坏?
歌词粤语用真心确定
修路对前三天共修了3.6千米,后四天平均每天
霹雳布袋戏带有梅的名字
爆炒加拿大刀蚬的做法步骤图,怎么做好吃
5个梨子分2堆有几种分法怎么分
如何辨别自己有没有说梦话
六月一日我市2点、8点、14点、20点四个时刻的
推荐资讯
几年的茶叶算陈茶?
he(他),they(他)和our(我们的)哪个不同类
有没有宫斗记录
上海斐斯顿管业有限公司自2003年成立
喔喔甜缘·囍铺地址有知道的么?有点事想过去
请教大侠,iphone4s的蓝牙怎么用啊,别的蓝牙
亚马逊JBL会不会卖假货,例如那个JBL duet,人
2010年上海世博会被誉为“未来城市的实验室”
50x加二分之1=四十五x减2分之一结果是多少要
"论语里用星辰作比方,表现仁政爱民的是什么
用硼酸洗液过后怎么觉得有点干痛呢
抛什么写词语
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?