将for循环更改为while循环无法正常工作(简单代码)

时间:2016-06-30 15:47:02

标签: c loops for-loop while-loop

我想要这个输出:

Insert a integer: 13
13
14
16
17
19

使用for循环,它可以正常工作:

for( ; ; num++)
{
    if (num%3==0)
        continue;
    else
        if(num%10==0)
            break;

    printf("%d\n", num);
}

但是当我尝试更改为while循环时:

while(1)
{
    if (num%3==0)
        continue;
    else
        if(num%10==0)
            break;

    printf("%d\n", num);
    num++;
}

发生了一些奇怪的事情:

Insert a integer: 13
13
14

你能帮我吗?

3 个答案:

答案 0 :(得分:2)

if ( count($entity) == 0 ) { return []; } 更改为num++循环时,您应添加for

while
一个循环中

两个增量 while(1) { if (num%3==0) { num++; /* <- add this */ continue; } else if(num%10==0) break; printf("%d\n", num); num++; } 看起来很难看,所以你可能想要重新设计循环到

num++

答案 1 :(得分:2)

在代码开头添加num++行(while循环)。 当循环达到num%3==0时,它会继续重复迭代。

num--;

while(1)
{
    num++;
    if (num%3==0)
        continue;
    else
        if(num%10==0)
            break;

    printf("%d\n", num);
}

答案 2 :(得分:0)

使用以下代码

Do
{    
    if (num%3==0)
        continue;
    else
        if(num%10==0)
            break;

    printf("%d\n", num);
   }while(num++);