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循环了,只执行一次。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)