例6.4while和dowhile循环的比较。
(1) main ( ) (2) main( )
{int sum=0,i;{int sum=0,i;
scanf("%d",&i);scanf("%d",&i);
while (i<=10)do
{sum=sum+i; {sum=sum+i;
i++; i++;
}} while (i<=10);
printf("sum=%d",sum); printf("sum=%d",sum);
}}
运行情况如下:运行情况如下:11
sum=55sum=55
再运行一次,再运行一次:
1111
sum=0sum=11;
可以看到:当输入i的值小于或等于10时,二者得到结果相同。而当i>10时,二者结果就不同了。这是因为此时对while循环来说,一次也不执行循环体(表达式“i<=10”为假),而对dowhile循环语句来说则要执行一次循环体。可以得到结论:当while后面的表达式的第一次的值为“真”时,两种循环得到的结果相同。否则,二者结果不相同(指二者具有相同的循环体的情况)。