Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
While循环以c为单位递增_C_For Loop_While Loop_Increment_Nested Loops - Fatal编程技术网

While循环以c为单位递增

While循环以c为单位递增,c,for-loop,while-loop,increment,nested-loops,C,For Loop,While Loop,Increment,Nested Loops,我试图在while循环中使我的“步骤”或增量,使我的值类似于N=2,4,8,16。。。基本上是2到2^20的幂。我已经试过了 for(j=1;j<=20;j++){ m=pow(2,2*i); MAX=pow(2,20); INC=pow(2,i); while(m<=MAX){ 对于(j=1;j您可以从m的值2开始,并在每次迭代中将m乘以2。作为优化,您可以用左移替换乘以2: int MAX = pow(2, 20); int m = 2; whil

我试图在while循环中使我的“步骤”或增量,使我的值类似于N=2,4,8,16。。。基本上是2到2^20的幂。我已经试过了

for(j=1;j<=20;j++){
    m=pow(2,2*i); 
    MAX=pow(2,20); 
    INC=pow(2,i);
while(m<=MAX){

对于(j=1;j您可以从
m
的值2开始,并在每次迭代中将
m
乘以2。作为优化,您可以用左移替换乘以2:

int MAX = pow(2, 20); 
int m = 2;
while(m <= MAX) {
    //do your work
    m <<= 1;
}
int MAX=pow(2,20);
int m=2;

while(m在while循环的每次迭代中;将变量乘以2

int m = 2;
while(m < maxpow)
{
  m = m * 2;
  printf("%d\n", m);
}
intm=2;
while(m
请你提供合适的代码好吗?这个片段几乎没有意义你可以只使用
m=1你的循环在增加j,但是你在乘以i。你做了20次完全相同的事情。你希望这是一种新颖的
用于…而
构造吗?这是不存在的,C有
用于{}
而{}
do{}while
只循环。或者最好向左移动:m@Mellowcandle不应该是
myes….哈哈哈,我很困惑哦,我完全忘记了这一点,我已经完成了我的while循环m=m+步骤的最后一行,m=m*2工作,非常感谢!@MaheenSiddiqui欢迎你,我的朋友:)Ohhhh我完全忘记了这一点,我已经完成了while循环的最后一行m=m+step,m=m*2工作了,非常感谢!惯用的C方式是
for(m=2;m
。没有人强迫强化是一个简单的
I++
。因此你可以通过
for(p=head;p;p=p->next){…}