#include "stdio.h"
void main()
{int i=5,j=0;
do
{
j=j+i;
i--;
}
while(i>2);
printf("%d\n",j);
}和
#include "stdio.h"
void main()
{int s=0,i=1;
do
{
s=s+i;
i++;
}
while(i<=100);
printf("s=%d",s);
}有什么不同
为什么第一个是等于12
#include "stdio.h"
void main()
{int i=5,j=0;
do
{
j=j+i;
i--;
}
while(i>2);
printf("%d\n",j);
}和
#include "stdio.h"
void main()
{int s=0,i=1;
do
{
s=s+i;
i++;
}
while(i<=100);
printf("s=%d",s);
}有什么不同
为什么第一个是等于12
前者是从大到小累加,后者是从小到大累加.
第一个结果其实就是5,4,3之和,当然等于12啦,当s=s+i;运算到3的时候,后面的i--;令i=2,以至while(i>2);结束了循环
当然不同!
第一次循环:j=j+i=5+0=5; i=i=1=4;
第二次循环:j=j+i=5+4=9;i=i-1=3;
第三次循环:j=j+i=9+3=12;i=i-1=2;
循环终止。
j值便是12.
第一个: i=5 i初始化为5; j为0;
然后一个do while循环, 当 i 大于2时 循环将 i 累加到j中.
由于条件while(i>2); 所以循环3次, i的值分别是 5 4 3;
因此j=5+4+3=12.
而第二个,i从1循环到100. 也就是将1到100累加到S中.
两个程序的循环条件不同!