while的问题
来源:互联网 发布:中关村发展集团 知乎 编辑:程序博客网 时间:2024/06/02 00:28
不要使用
while (条件)
更不要使用
while (组合条件)
要使用
因为前两种写法在语言表达意思的层面上有二义性,只有第三种才忠实反映了程序流的实际情况。
典型如:
下面两段的语义都是当文件未结束时读字符
而这样写就没有问题:
类似的例子还可以举很多。
while (条件)
更不要使用
while (组合条件)
要使用
while (1) { if (条件1) break; //... if (条件2) continue; //... if (条件3) return; //...}
因为前两种写法在语言表达意思的层面上有二义性,只有第三种才忠实反映了程序流的实际情况。
典型如:
下面两段的语义都是当文件未结束时读字符
whlie (!feof(f)) { a=fgetc(f); //... b=fgetc(f);//可能此时已经feof了! //...}
而这样写就没有问题:
whlie (1) { a=fgetc(f); if (feof(f)) break; //... b=fgetc(f); if (feof(f)) break; //...}
类似的例子还可以举很多。
- while的问题
- pthread_cond_wait和while的问题
- 一个while的小小问题
- while的一个小问题
- while(cin>>str)无法结束的问题
- while(cin>>str)结束的问题
- 单片机C语言while(1)的问题
- for(;;)和while(1)的效率问题
- 有关while(cin>>str)的问题
- do ...while() 结尾要加;的问题
- 单片机C语言while(1)的问题
- while(cin>>str)无法结束的问题
- 关于do while循环的问题
- 关于do while循环的问题
- while和for的效率问题
- 关于for while的效率问题
- While中语句执行顺序的问题
- for 循环嵌套 while 的神奇问题
- 大型网站架构技术方案集锦[转]
- 少编码多思考:代码越多 问题越多
- C语言打印日历
- pc-lint静态代码分析工具(检查linux下C++代码的实现方式)
- 可以发表博客了?
- while的问题
- 性能重要指标CPU
- 10章 多重继承的问题
- PHP框架之ThinkPHP的学习总结(2)ThinkPHP + Discuz 整合方法
- JS中的window.setTimeout()详解
- 关于VC Linker的/INCREMENTAL链接选项
- error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj)
- MySQL新建用户,授权,删除用户,修改密码
- Linux安装jdk(后缀名为.bin的jdk文件)