请问大佬,下面在个for循环的题是怎么个执行顺序?
int main()
{
int k;
for (k=2;++k<4;k++) ++k;
printf("%d\n",k);
return 0;
}
为什么最后k的值是6?我算的是5,哪里不对?
我的算法是:第一次++k值为3,小于4,所以执行语句++k。k为4,然后再执行条件表达式中的k++,k为5.第二次循环,k为5,循环结束. 请问我哪一步计算错了?
请问大佬,下面在个for循环的题是怎么个执行顺序?
int main()
{
int k;
for (k=2;++k<4;k++) ++k;
printf("%d\n",k);
return 0;
}
为什么最后k的值是6?我算的是5,哪里不对?
我的算法是:第一次++k值为3,小于4,所以执行语句++k。k为4,然后再执行条件表达式中的k++,k为5.第二次循环,k为5,循环结束. 请问我哪一步计算错了?
15 回答8.4k 阅读
8 回答6.2k 阅读
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
你的条件判断是
++k<4
啊,里面不是还有一个 ++ ,判断结束还得加一次