用于C++中的循环
for loop in C++
我只是有点好奇额外的部分去了哪里,以及是否有更好的方法来避免使用for()的准确性损失
for(int a = 10; a >= 0; a -= 3)
cout << a << endl;
输出10 7 4 1
所以我想知道它为什么不继续下去,因为1仍然大于0。我理解不存在的签名方面,它是一个int,但最后一个1会发生什么?我想它只是凭空消失了。所以我想知道是否有人能解释为什么它不继续,或者至少为什么它输出10, 7, 4, 1
而不是10, 7, 4, 1, 1
,以及如何使其成为可能输出10, 7, 4, 1, -2
用于cppreference.com 上的循环
这是for
循环的定义:
for ( init_statement ; condition ; iteration_expression )
statement;
执行init_statement一次,然后重复执行语句和迭代表达式,直到条件的值变为false。测试在每次迭代之前进行。
这被转换为以下步骤:
init_statement
被执行- 检查CCD_ 7;如果为true,转到步骤3,如果为false,转到步骤6
- 执行
statement
- 执行
iteration_expression
- 转到步骤2
- CCD_ 10循环完成。(跳过
statement
并执行下一条语句)
在这种情况下,将采取以下步骤:
a
被指定为10
(a==10)- 检查
a >= 0
,为真 10
输出到cout
- 执行
a -= 3
(a==7) - 检查
a >= 0
,为真 7
输出到cout
- 执行
a -= 3
(a==4) - 检查
a >= 0
,为真 4
输出到cout
- 执行
a -= 3
(a==1) - 检查
a >= 0
,为真 1
输出到cout
- 执行
a -= 3
(a==-2) - 检查
a >= 0
,为false for
循环完成。(跳过statement
并执行下一个语句。)
相关文章:
- 如何循环打印顶点结构
- 如何在C++中从两个单独的for循环中添加两个数组
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 正在尝试了解输入验证循环
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 循环后如何继续阅读
- Ardunio UNO解决了多个重叠的定时器循环
- Eigen如何在容器循环中干净地附加矩阵
- 在某些循环内使用vector.push_back时出现分段错误
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 为什么我的for循环不能正确获取argv
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- while循环中while循环的时间复杂度是多少
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 为什么在这个代码结束循环中没有得到结束
- 在基于范围的for循环中使用结构化绑定声明
- 用于C++中带有数组和指针的循环
- 循环中的随机函数
- 是什么阻止DOMTimerCoordinator::NextID进入无休止的循环
- 在循环C++中指定字符串之后,不会打印该字符串