for 语句初始化后第二步是条件判断
来源:互联网 发布:天猫抢购软件 编辑:程序博客网 时间:2024/05/16 17:48
今天在学习 C++ 基础时,发现了自己知识上的一个漏洞:对于 for 语句初始化后接下来的步骤认知错误。
1、纠错
for 语句的语法形式是这样的:
for (init-statement; condition; expression) statement
我原先认为:
init-statement 执行后,执行 statement,然后是 expression,接着 condition 判断,根据是否满足条件决定是否执行 statement。
然而事实却是:
init-statement 执行后,进行 condition 判断。如果满足条件,执行 statement;否则 statement 一次都不会执行, 控制流直接转到 for 语句的下一语句。
如下代码可以验证:
#include <cstdio>int main(){ for (int i = 0; i < 0; ++i) printf("i = %d\n", i); return 0;}
这段代码按以前理解,输出应当是 i = 0
,然而却没有输出,说明 i 初始化进行了条件判断,不满足条件,于是不执行 for 语句的 statement 了。
2、究因
那么为什么我会有这种错误认识呢?
原因可能很简单,我写 for 语句时,通常情况下初始化后的语句总是能够满足条件,无形中给我造成了初始化后立即执行 statement 的错觉, 例如 for (int i = 0; i < vInt.size(); ++i) {...};
;另外如果需要对初始条件进行检验,我一般用 while 语句。
这时我才对大家都爱用并且推荐使用 for 语句有了更加深入的理解。
阅读全文
0 0
- for 语句初始化后第二步是条件判断
- for (初始化语句; 判断条件; 循环条件)
- for(初始化;条件判断;操作)
- for(foo('A');foo('B')&&(i<2);foo('C')) ,其实考的就是for (初始化语句; 判断条件; 循环条件)
- java中for语句 if 和 switch 是条件判断语句小析
- 这是网友发的一道很常见的面试题, for(foo('A');foo('B')&&(i<2);foo('C')) ,其实考的就是for (初始化语句; 判断条件; 循环条件) ,现在详细解析一下!
- 这是网友发的一道很常见的面试题, for(foo('A');foo('B')&&(i<2);foo('C')) ,其实考的就是for (初始化语句; 判断条件; 循环条件) ,现在详细解析一下!
- 这是网友发的一道很常见的面试题, for(foo('A');foo('B')&&(i<2);foo('C')) ,其实考的就是for (初始化语句; 判断条件; 循环条件) ,现在详细解析一下!
- 初始化语句; 判断条件; 循环条件
- python 列表处理,for循环语句,if条件判断
- 条件语句-第二天
- SQL条件判断语句
- SQL条件判断语句
- 条件判断语句
- sqlserver条件判断语句
- 3.9 条件判断语句
- sqlserver条件判断语句
- Perl 条件判断语句
- 《统计学习方法》-第二章-感知机
- Servlet的三种开发方法
- selenium之开发登录脚本_maven版本二(加入Properties)
- Git 连接 GitHub
- 后缀自动机的一些简单题目
- for 语句初始化后第二步是条件判断
- 自定义标题栏(左中右三块)
- LoRa芯片的八种工作模式解析
- ssm整合
- python 全局变量引用与修改
- 十一个行为型模式10:模板方法模式-Template Method Pattern【学习难度:★★☆☆☆,使用频率:★★★☆☆】
- 29、数据结构笔记之二十九数组之硬币抛掷模拟
- 用pyinstaller生成exe遇到的问题
- 达内课程-正则表达式