我正在寻找一个代码,当i ==某个值时,在for循环中执行某些操作。
for(int i=0; i<n; i++)
{
if (i == 300 or i == 600 or i == 900 or i == 1200 .... )
// then do some action
else
// do some other action ....
}
如何查看此(i == 300 or i == 600 or i == 900 or i == 1200 .... )
答案 0 :(得分:15)
使用余数modulus operator %
如果300
始终可以整除,则可以避免使用n个||
条件。
for(int i = 0; i<n; i++)
{
if (i % 300 == 0)
// then do some action
else
// do some other action ....
}
%运算符在除去第一个操作数后计算余数 到了第二个。所有数字类型都有预定义的余数运算符MSDN。
答案 1 :(得分:0)
我如何检查这个(i == 300或i == 600或i == 900或i == 1200 ....)
像这样:
if (i == 300 || i == 600 || i == 900 || i == 1200 .... )
条件OR运算符将计算第一个语句,如果为true,则整个语句的计算结果为true,其余操作数不计算。
答案 2 :(得分:0)
这里有许多好的解决方案。另:
for(int i=0; i<n; i++)
{
switch(i)
{
case 300:
case 600:
case 900:
case 1200:
// take action
break; // done with positive cases
default:
// this is the 'else' side of your check
break;
} // switch
}
答案 3 :(得分:-2)
更简单的解决方案是知道,当它是300的倍数时:
for (int i = 0; i < n; i += 300)
{
// Some action
for (j = 1 ; j < n-i; ++j)
{
// Other action
}
}