For loop C++;for循环中的逗号及其等价表达式?

For loop C++;for循环中的逗号及其等价表达式?,for-loop,For Loop,所以我想知道这个for循环的等价表达式是什么,老实说,由于缺乏经验,我从来没有见过这样写的for循环 代码如下: string convertToBase7(int num) { int res = 0; for(int i=0; num!=0; res += pow(10,i++)*(num % 7), num /= 7) {} return to_string(res); } 那么,分号之后的语句是否在每次迭代中都按照编写顺序执行?同样在i=2时,res+

所以我想知道这个for循环的等价表达式是什么,老实说,由于缺乏经验,我从来没有见过这样写的for循环

代码如下:

    string convertToBase7(int num) {
     int res = 0;
    for(int i=0; num!=0; res += pow(10,i++)*(num % 7), num /= 7) {}
    return to_string(res);
}
那么,分号之后的语句是否在每次迭代中都按照编写顺序执行?同样在i=2时,res+=pow(10,3)?正确吗?

如果您有:

for (int i = 0, j = 0; i < 5 && j < 3; ++i, ++j)
如果部门:

num /= 7;
意外跳过零,因此我建议您执行以下操作:

num > 0;
因此,有了以上所有内容,我将写下这一行:

for(int i=0; num!=0; res += pow(10,i++)*(num % 7), num /= 7) {}
详情如下:

 for(int i=0; num!=0; ++i, res += pow(10,i)*(num % 7), num /= 7) {}
如果我需要确保
I
在传递给函数之前递增,或:

for(int i=0; num!=0; res += pow(10,i)*(num % 7), ++i, num /= 7) {}

如果我需要确保
I
在传递给函数后是递增的。

这段代码很糟糕,你不应该试图模仿它。任何基础教科书都应该介绍
for
循环的工作原理(以及
I++
)。
 for(int i=0; num!=0; ++i, res += pow(10,i)*(num % 7), num /= 7) {}
for(int i=0; num!=0; res += pow(10,i)*(num % 7), ++i, num /= 7) {}