以下程序段中的变量已正确定义 for(i=0; i<4; i++, i++) for(k=l; k<3; k++); printf("*");

以下程序段中的变量已正确定义 for(i=0; i<4; i++, i++) for(k=l; k<3; k++); printf("*");,第1张

输出为一个 * 。

for(i=0i<4i++, i++) for(k=lk<3k++) //看到这里分号没。

其实这是一个双重循环,但是循环语句是空的。就是说一直循环,除了循环变量变化外,其他没有什么变化。

printf是一个单独的语句,和循环没有什么关系。

这里有两层循环,for(i=0i<4i++,i++) 其实就相当于for(i=0i<4i=i+2)

for(k=1k<3k++)如果这里真有个“”相当于这两层循环什么事都没干

然后printf("*")所以选择c

for(k=1k<3k++)如果这里没有“”,那么两层循环都会执行printf("*")

第一层 i =0, 2可以执行;第二层k = 1.2 可以执行,一共循环2*2=4次;这时选择 B

看你的for(k=1k<3k++)后面有没有“”了

第一层循环没有结束条件,会一直循环下去(死循环),第二个循环后面有个分号,是个空循环,所以机器什么也不做,只在那里空循环着

如果你是打错了,第一个for语句中有一个是j++的话,程序只打印一个*,因为你在第二个for语句后加了分号,printf语句不属于for循环了,只执行一次。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7724875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存