x=1,!x为false 所以再判断x==0也不成立故y=0
else if (x==0)
if (x) y+=2
else y+=3
和
else if (x==0)
{
if (x) y+=2
else y+=3
}
是一样的意思
输出结果是n=4。看这个循环的执行:
for(i=2i<5i++)
{ do
{ if(i%3) continue
n++
} while(!i)
n++
}
i=2:i%3(i除以3取余为2),if条件成立,continue执行,后续n++不执行,直接判断while(!i),i不为0,!i为假,退出do/while循环,执行while后面的n++,n=1,再执行下一次for循环
i=3:i%3(i除以3取余为0),if条件不成立,n++执行,n=2。再判断while(!i),i不为0,!i为假,退出do/while循环,执行while后面的n++,n=3,再执行下一次for循环
i=4:i%3(i除以3取余为1),if条件成立,continue执行,后续n++不执行,直接判断while(!i),i不为0,!i为假,退出do/while循环,执行while后面的n++,n=4,再执行下一次for循环
最后,n=4。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)