不明白它为什么要用for
for里面还可以套if else while吗?
学得真的很乱
3条回答 默认 最新
- 赵4老师 2023-09-21 18:00关注
for (A;B;C) D; //等价于 { A; while (1) { if (!(B)) break; D; C; } }
不要使用 while (条件) 更不要使用 while (组合条件) 要使用 while (1) { if (条件1) break; //... if (条件2) continue; //... if (条件3) return; //... } 因为前两种写法在语言表达意思的层面上有二义性,只有第三种才忠实反映了程序流的实际情况。 典型如: 下面两段的语义都是当文件未结束时读字符 while (!feof(f)) { a=fgetc(f); //... b=fgetc(f);//可能此时已经feof了! //... } 而这样写就没有问题: while (1) { a=fgetc(f); if (feof(f)) break; //... b=fgetc(f); if (feof(f)) break; //... } 类似的例子还可以举很多。
解决 无用评论 打赏 举报
悬赏问题
- ¥20 wordpress如何限制ip访问频率
- ¥15 自研小游戏,需要后台服务器存储用户数据关卡配置等数据
- ¥15 请求解答odoo17外发加工某工序的实操方法
- ¥20 IDEA ssm项目 跳转页面报错500
- ¥20 系统直接进入应急模式了,请教一下,人要裂开了
- ¥15 页面初次加载时,JS调用对象可以调用成功,但是一旦跳转到另一个页面,再跳转回来后这个对象就显示undefind了,调用也调用不了了,什么原因?
- ¥15 来个厉害的程序开发的,安排点活给你做
- ¥15 rexroth indramotion MTX micro系统轴耦合编程
- ¥100 springboot2.7.x 整合 sharding 的问题
- ¥15 如何通过命令行操作统信360安全浏览器?