do while循环问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 09:49:43
#include "stdio.h"
main()
{
int m,n,i;
m=n=i=4;
do{n+=1;
i--;
m-=n;
}while (i>0);
printf("%d,%d,%d\n",i,n,m);
}
这里面得循环我有点搞不懂了啊,
居然输出了0,8,-22为什么,能讲详细点吗?
小弟是新手需要帮忙啦~~
还不能

do n+=1 得n=5;
i-- 得i=3
m-=n 得m=m-n=-1
带入while可以。继续循环

do n+=1得n=6
i-- 得i=2
m-=n 得m=m-n=-1-6=-7
再循环

do n+=1得n=7
i-- 得i=1
m-=n得m=-7-7=-14
再循环

do n+=1得n=8
i--得i=0
m=-14-8=-22

因为i=0不小于0所以跳出循环。

i=0,n=8 m=-22

#include "stdio.h"
main()
{
int m,n,i;
m=n=i=4;
do{
n=n+1;
i--;
m=m-n;
}
while (i>0);
printf("%d,%d,%d\n",i,n,m);
}
搞不清楚就把表达式写的明了一点。你在看看,能不能看懂。