c ++循环的增量

时间:2015-10-16 20:29:12

标签: c++ for-loop

好吧,我从未尝试过for循环。我想将for循环增加8而不是一般的后增量。我正在尝试这样的事情。

for(U8 i=3;i<=31;i+8,j++){
    Array[j]=(Status>>i) ;

    if (j>3){
        j = 0;
    }
}

好吧它给我一个警告,比如逗号表达式的左手操作数没有效果。这个警告是什么意思?我的逻辑会起作用吗? status包含我系统的32位信息,我需要特别的位。

2 个答案:

答案 0 :(得分:5)

根据你的评论&#34;它会在循环中每次将i的值增加8吗?&#34;

i+8i没有影响, 将其更改为i+=8

答案 1 :(得分:4)

回答所述的字面问题......

警告的原因仅仅是因为for循环,第三部分中逗号的左侧将不起作用。 i+8不会改变任何内容,而是返回一个值。

相反,您需要复合赋值加法运算符+= i+=8,它将向i的当前值添加8。 (See the Documentation

for(U8 i=3;i<=31;i+=8,j++){