为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C++
慕运维8079593 2022-06-02 11:07:04
看到一题目 #include using namespace std; int main() { int num=0,i=8; do{ i--; cout< num++; cout< }while(--i); cout< return 0; } 
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

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


查看完整回答
反对 回复 2022-06-06
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

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

查看完整回答
反对 回复 2022-06-06
?
隔江千里

TA贡献1906条经验 获得超10个赞

如果i为零,则!i为非零;如果i不为零,则!i为零。while表达式当()内为非零值时成立,也就是说while在i为零时循环。

查看完整回答
反对 回复 2022-06-06
  • 3 回答
  • 0 关注
  • 262 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信