我想要这个输出:
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
请大家帮帮我好吗?
最佳答案
将 for
更改为 while
循环时,应添加 num++
:
while(1)
{
if (num%3==0) {
num++; /* <- add this */
continue;
}
else
if(num%10==0)
break;
printf("%d\n", num);
num++;
}
两个增量一个循环中的num++
看起来很难看,因此您可能需要重新设计循环进入
while (num % 10 != 0) {
if (num % 3 != 0)
printf("%d\n", num);
num++;
}
关于将 for 循环更改为 while 循环无法正常工作(简单代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38127886/