for循环和if条件内的Continue语句
continue statement inside for loop and if condition
我有以下代码片段,我得到的输出是4。如果i=2或0,请告诉我。我很困惑。输出是4吗?
int main() {
int i=2;
for(i=0;i<2;i++) {
i=i%3;
if(i==2) {
i++;
continue; }
else
++i;
}
printf("%d",i);
}
循环从i = 0
开始。if
和else
是完全一样的。增加i
并继续。
如果你使用一点逻辑,整个块可以减少到i++
(i = i % 3
在i < 2
之后没有作用)。
这是不可能得到4
与你发布的代码。
对于您发布的程序,输出不能是4
,因为在循环中断时,i
的值将是2
,而不是4
,并且循环将只运行一次。
同样,你的代码永远不会进入if
块,因为条件是i==2
,在for
循环中永远不可能为真,因为到那时循环将退出。
那么你的代码就等于:
int main() {
int i=2;
for(i=0;i<2;i++) {
i++;
}
printf("%d",i);
}
相关文章:
- 我的简单if-else语句是如何无法访问的代码
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 为什么是0;C++中的有效语句
- Insert函数不适用于2 if语句C++
- If语句未被求值C++
- C++嵌套if语句,基本货币交换
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 是否可以使用if constexpr删除控制流语句
- 无法理解此 return 语句的功能,没有它就会发生运行时错误
- 我似乎对if/else的基本语句有问题:/
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- If语句在c++中被忽略
- 比较if语句中的数组值和int值
- 以在Qt中的IF语句中设置时间延迟
- Craps游戏问题,忽略if语句
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 这些continue语句如何影响我的代码
- 我如何用等价的结构化语句替换continue和goto语句
- for循环和if条件内的Continue语句