/*while2.c程序->注意分號的位置*/

 1 #include<stdio.h>
2 int main(void)
3 {
4 int n=0;
5
6 while(n++<3);
7 printf("n is %d\n",n);
8 printf("That's all this program does.\n");
9
10 return 0;
11 }

該程序的輸出如下:

n is 4

That's all this program does.

循環執行完測試條件後面的第一條語句時(簡單或者是複雜語句)后進入下一輪迭代,知道測試條件爲假才會結束。在第六行中while語句後面有一個“;”,循環在此進入下一論迭代,因爲單獨一個分號被視爲一條語句。雖然n的值在每次循環時都遞增1,但第7行的語句不是循環的一部分,所以只會打印一次循環結束後的n值。

在該例中,測試條件後面的單獨分號是空語句(null statement),它什麽也不做。在C語言中,單獨的分號表示空語句。有時,程序員會故意使用帶空語句的while語句,因爲所有的任務都在測試條件中完成了,不需要在循環體中做什麽了。(像while2.c),假如,假設你想要跳過輸入達到第一個既不是空白字符也不是數字的位置,可以這樣寫:while(scanf("%d",&num)==1)

;/*跳過整行輸入*/

只要scanf()讀取一個證書,就會返回1,循環會繼續執行。注意,爲了提高代碼的可讀性,建議吧“;”單獨放在一行,不要直接放在測試表達式同行,一方面是爲了代碼清晰可讀,一方面也是告訴讀者是有意而爲之。

最新文章

  1. perl 切换 dnspod 域名记录
  2. QT QDateTime类、QTimer类
  3. mango-1.4.1 文档
  4. 使用 jackson 解析 json 演示样例
  5. HDU 1160 FatMouse&#39;s Speed
  6. VBA访问SQLSERVER2005筛选数据库
  7. layoutSubviews在什么情况下会被调用
  8. C# 中的 ConfigurationManager类引用方法应用程序配置文件App.config的写法
  9. Vim修炼秘籍之语法篇
  10. 精通CSS+DIV网页样式与布局--页面背景
  11. There is No Alternative~最小生成树变形
  12. EOF输入
  13. (4)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- Consul服务发现和消费
  14. 微软职位内部推荐-SW Engineer II for Embedded System
  15. C++中没有finally,那么应该在哪里关闭资源?
  16. Python 爬虫实例(15) 爬取 汽车之家(汽车授权经销商)
  17. createjs记录坑
  18. python面向对象编程(1)——基本概念,术语,self,构造器
  19. systemctl使用
  20. 思科ASA 基础学习

热门文章

  1. 从0搭建vue3组件库: 如何完整搭建一个前端脚手架?
  2. python中的字符串学习
  3. EasyPoi大数据导入导出百万级实例
  4. Https Webservice接口的免证书调用
  5. [leetcode] 706. Design HashMap
  6. springboot中使用mybatis_plus逆向工程
  7. Debian Linux 的安装
  8. Go语言核心36讲47
  9. 23、有一个字符串,包含n个字符,编写一函数,将此字符串中从第m个字符开始的全部字符串复制成另一个字符串
  10. Java-数组工具类Arrays