请高人指点下 ,while(--i); 这个条件是怎么实现的?运行出来是4 ,是怎么循环结束的?

看到一题目 #include using namespace std; int main() { int num=0,i=8; do{ i--; cout< num++; cout< }while(--i); cout< return 0; } 

慕运维8079593
浏览 266回答 3
3回答

蛊毒传说

这段程序很简单的:dowhile执行第一遍后:i=6,num=1;dowhile执行第二遍后:i=4,num=2;dowhile执行第三遍后:i=2,num=3;dowhile执行第四遍后:i=0,num=4;此时,i=0,不满足循环的条件,跳出dowhile循环,然后输出num(=4)。

繁花不似锦

这个意思是说只要i不是0,就一直循环下去。你在while(--i)里面减1,然后又在循环体内减一,i--,所以循环一次就减了2,你的i=8,所以最后是4

隔江千里

如果i为零,则!i为非零;如果i不为零,则!i为零。while表达式当()内为非零值时成立,也就是说while在i为零时循环。
打开App,查看更多内容
随时随地看视频慕课网APP