【我解C语言面试题系列】003 死循环格式问题小结

死循环格式问题小结

下面是几个"著名"的死循环:

(1)操作系统死循环;

(2)WIN32程序死循环;

(3)嵌入式系统软件死循环;

(4)多线程程序的线程处理函数死循环。

而有的时候我们在程序中也要使用死循环,只有当条件满足的时候,才可以break 退出死循环,继续下面的代码的执行。死循环的方案有两个:

while (1)

{

……

}

for ( ; ; )

{

……

}

第一种格式往往是我们的首选方案。

第二种格式则由于这个语法没有确切表达代码的含义,我们从for ( ; ; ) 看不出什么,只有弄明白for ( ; ; ) 在C语言中意味着无条件循环才明白其意。有的程序员更是把第二种格式写成了 for ( ;1 ; ) ,更是迷惑人。我们不要求所有人的所有代码格式都统一,但是象这种情况,还是统一一点的比较好,因为这样读你代码的人会更舒服一些,可以增强程序员间的代码交流。死揪语法,狠钻牛角尖,代码写的乱七八糟,各有各的一套,那对于代码维护来说是要付出很大代价的。

在C程序中,特别是嵌入式程序中除主程序的死循环外,一般的人都建议不要使用死循环,因为一旦你的代码稍微出现小的失误,就会造成当机,这是做嵌入式的人最不愿意看到的,因为QA(质量测试部门)是绝对不允许这种程序通过测试走货的。但是,在有的时候我们又不可避免的要使用死循环,所以要视具体情况而定。

转载于:https://www.cnblogs.com/duadu/archive/2007/05/21/6335441.html

【我解C语言面试题系列】003 死循环格式问题小结?相关推荐

  1. 【我解C语言面试题系列】013 以单词为单位的翻转字符串

    [我解C语言面试题系列]013 以单词为单位的翻转字符串 以单词为单位的翻转字符串 原题:Write a function string reverse string word By word (St ...

  2. c语言程序设计中北答案详解,C语言程序设计试题及答案解析汇编.doc

    C语言程序设计试题及答案解析汇编 C语言程序设计试题 第1.2.3章 概述.类型.表达式 一.选择题 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( ) 任意 第一个函数必须是主函数, ...

  3. C语言再学习 -- 详解C++/C 面试题 2

    (经典)C语言测试:想成为嵌入式程序员应知道的0x10个基本问题. 参看:嵌入式程序员面试问题集锦 1.用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define ...

  4. 资料 | O‘Reilly精品图书系列:算法精解 C 语言描述 (简体中文)

    下载地址:资料 | O'Reilly精品图书系列:算法精解 C 语言描述 (简体中文) 内容简介 · · · · · · 本书是数据结构和算法领域的经典之作,十余年来,畅销不衰! 全书共分为三部分:第 ...

  5. 数据结构殷人昆电子版百度云资源_数据结构精讲与习题详解(C语言版第2版清华大学计算机系列教材)...

    导语 内容提要 殷人昆编著的<数据结构精讲与习题详解(C语言版第2版清华大学计算机系列教材)>是清华大学出版社出版的<数据结构(C语言版)>(第2版)的配套教材,对" ...

  6. c语言解逻辑问题的一般步骤,C语言面试题---逻辑短路问题

    版权声明:本文转载于公众号TeachPlus---C语言面试题---逻辑短路问题 写出下面程序的输出 #include int main() { int a=5,b=6,c=7,d=8,m=2,n=2 ...

  7. Java坑人面试题系列: 线程/线程池(高级难度)

    ExecutorService 接口及相关API细节详解. Java Magazine上面有一个专门坑人的面试题系列: https://blogs.oracle.com/javamagazine/qu ...

  8. 「前端面试题系列7」Javascript 中的事件机制(从原生到框架)

    前言 这是前端面试题系列的第 7 篇,你可能错过了前面的篇章,可以在这里找到: 理解函数的柯里化 ES6 中箭头函数的用法 this 的原理以及用法 伪类与伪元素的区别及实战 如何实现一个圣杯布局? ...

  9. C#, ASP.NET面试题系列(1)

    C#, ASP.NET面试题系列(1) 注:试题来自互联网,答案仅供参考! 1. (1) 以下叙述正确的是:(BC) A. 接口中可以有虚方法 B. 一个类可以实现多个接口 C. 接口不能被实例化 D ...

最新文章

  1. 使用睡袋_在户外一个关乎睡眠的重要因素——睡袋
  2. for in 和 for of 的区别
  3. 【待继续研究】除了专家模型,这两大模型也被普遍应用于信用评估
  4. mysql 内置功能 存储过程 目录
  5. php开发添加表情功能,WordPress网站评论区如何实现添加表情包功能?
  6. cad图纸问号怎么转换文字_CAD打开图纸后字体显示为问号,这样解决治标治本(送)...
  7. 有20万3年不用,怎样理财呢?
  8. Opencv step by step - 图像变换
  9. java 弹框_java弹框
  10. firework算法_FireWorks 自从烟花算法的开创性论文由谭营教授等人于2010年发表之后 联合开发网 - pudn.com...
  11. java 基础复习
  12. 安全检查未通过_QQ群文件未通过安全检查,禁止下载该文件解决办法(QQ收藏)
  13. 全球及中国商业航天产业应用模式探析及投资布局态势分析报告2021-2027年版
  14. (18)语义分割--paddle--EISeg自动标注软件的使用和自己数据集的测试
  15. 【java】案例一:使用java写的记账软件
  16. BF(暴力)算法详解
  17. PHP汉字转拼音的两种方法+PHP提取汉字(中文)方法
  18. 错误解决:Problem binding to [0.0.0.0:10033] java.net.BindException
  19. 高老师的架构设计_隽语集(DD_1801)
  20. python前后端脚本之家_Django使用中间件解决前后端同源策略问题

热门文章

  1. deinstall 卸载grid_oracle 11g RAC手动卸载grid,no deinstall   .
  2. 我国在量子计算机领域的发展情况的感受,量子计算机的现状及发展趋势.doc
  3. python学习-知识点回顾(Python3的安装,编译器、一些关键知识点、数据类型、数据类型转换、运算符优先级)
  4. java for 循环执行顺序
  5. java byte转换成string_Java byte []到/从String转换
  6. 计算平均指令时间_为什么向量化计算(vectorization)会这么快?
  7. php opcodevld,利用PHP扩张vld查看PHP opcode
  8. redhat7.1安装mysql_redhat7.1 安装mysql 5.7.10步骤详解(图文详解)
  9. python不简单_不简单的python- 01基础
  10. 计算机与技术卓越信息技术,2018版计算机科学与技术专业(卓越工程师)培养目标与毕业要求...