【我解C语言面试题系列】003 死循环格式问题小结?
2007-05-21 16:57
337 查看
【我解C语言面试题系列】003 死循环格式问题小结?
死循环格式问题小结
下面是几个"著名"的死循环:
(1)操作系统死循环;
(2)WIN32程序死循环;
(3)嵌入式系统软件死循环;
(4)多线程程序的线程处理函数死循环。
而有的时候我们在程序中也要使用死循环,只有当条件满足的时候,才可以break 退出死循环,继续下面的代码的执行。死循环的方案有两个:
while (1)
{
……
}
for ( ; ; )
{
……
}
第一种格式往往是我们的首选方案。
第二种格式则由于这个语法没有确切表达代码的含义,我们从for ( ; ; ) 看不出什么,只有弄明白for ( ; ; ) 在C语言中意味着无条件循环才明白其意。有的程序员更是把第二种格式写成了 for ( ;1 ; ) ,更是迷惑人。我们不要求所有人的所有代码格式都统一,但是象这种情况,还是统一一点的比较好,因为这样读你代码的人会更舒服一些,可以增强程序员间的代码交流。死揪语法,狠钻牛角尖,代码写的乱七八糟,各有各的一套,那对于代码维护来说是要付出很大代价的。
在C程序中,特别是嵌入式程序中除主程序的死循环外,一般的人都建议不要使用死循环,因为一旦你的代码稍微出现小的失误,就会造成当机,这是做嵌入式的人最不愿意看到的,因为QA(质量测试部门)是绝对不允许这种程序通过测试走货的。但是,在有的时候我们又不可避免的要使用死循环,所以要视具体情况而定。
死循环格式问题小结
下面是几个"著名"的死循环:
(1)操作系统死循环;
(2)WIN32程序死循环;
(3)嵌入式系统软件死循环;
(4)多线程程序的线程处理函数死循环。
而有的时候我们在程序中也要使用死循环,只有当条件满足的时候,才可以break 退出死循环,继续下面的代码的执行。死循环的方案有两个:
while (1)
{
……
}
for ( ; ; )
{
……
}
第一种格式往往是我们的首选方案。
第二种格式则由于这个语法没有确切表达代码的含义,我们从for ( ; ; ) 看不出什么,只有弄明白for ( ; ; ) 在C语言中意味着无条件循环才明白其意。有的程序员更是把第二种格式写成了 for ( ;1 ; ) ,更是迷惑人。我们不要求所有人的所有代码格式都统一,但是象这种情况,还是统一一点的比较好,因为这样读你代码的人会更舒服一些,可以增强程序员间的代码交流。死揪语法,狠钻牛角尖,代码写的乱七八糟,各有各的一套,那对于代码维护来说是要付出很大代价的。
在C程序中,特别是嵌入式程序中除主程序的死循环外,一般的人都建议不要使用死循环,因为一旦你的代码稍微出现小的失误,就会造成当机,这是做嵌入式的人最不愿意看到的,因为QA(质量测试部门)是绝对不允许这种程序通过测试走货的。但是,在有的时候我们又不可避免的要使用死循环,所以要视具体情况而定。
相关文章推荐
- 【我解C语言面试题系列】003 死循环格式问题小结?
- 【我解C语言面试题系列】004 数组的循环右移问题
- 【我解C语言面试题系列】004 数组的循环右移问题
- 【我解C语言面试题系列】007 运算符优先级问题
- 【我解C语言面试题系列】007 运算符优先级问题
- 【我解C语言面试题系列】002 局部变量和全局变量小结?
- 【我解C语言面试题系列】008 去除数组中重复数字问题
- 【我解C语言面试题系列】002 局部变量和全局变量小结?
- 【我解C语言面试题系列】008 去除数组中重复数字问题
- 【我解C语言面试题系列】005 按位反转字符问题
- 【我解C语言面试题系列】005 按位反转字符问题
- 【我解C语言面试题系列】006 按位反转整数问题
- 【我解C语言面试题系列】009 特殊的去除数组中重复数字问题
- 【我解C语言面试题系列】006 按位反转整数问题
- 【我解C语言面试题系列】009 特殊的去除数组中重复数字问题
- C语言通过双向循环链表解决Josephus(约瑟夫)问题
- referer丢失问题的小结--web analytics系列
- C语言奶牛生子的问题(腾讯面试题)
- 部分有序中查找给定值-【百度面试题】循环有序数组的查找问题
- 约瑟夫循环c语言实现 (<<数据结构与算法>>-王曙燕 约瑟夫环问题解答)