当前位置:嗨网首页>书籍在线阅读

06-终止while循环

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

6.2.1 终止 while 循环

while 循环有一点非常重要:在构建 while 循环时,必须让测试表达式的值有变化,表达式最终要为假。否则,循环就不会终止(实际上,可以使用 breakif 语句来终止循环,但是你尚未学到)。考虑下面的例子:

index = 1;
while (index < 5)
     printf("Good morning!\n");

上面的程序段将打印无数次 Good morning! 。为什么?因为循环中 index 的值一直都是原来的值 1 ,不曾变过。现在,考虑下面的程序段:

index = 1;
while (--index < 5)
     printf("Good morning!\n");

这段程序也好不到哪里去。虽然改变了 index 的值,但是改错了!不过,这个版本至少在 index 减少到其类型可容纳的最小负值并变成最大正值时会终止循环(第3章3.4.2节中的 toobig.c 程序解释过,最大正值加 1 一般会得到一个负值;类似地,最小负值减1一般会得到最大正值)。