为什么即使我继续使用它也会停止?

Why does it stop even though I used continue?

使用 while 循环和条件语句进行基本编码。但是我遇到了一个问题,我忘记了故障所在。

所以这里发生的是代码会要求用户输入 'loading' 的起点和终点,它会完成它的事情。问题是代码应该排除开始和结束整数之间可被 4 整除的数字。

但在我的例子中,即使我在 'while' 行下方的 if 语句中使用了 'continue;',循环突然停在 3,我应该如何解决这个问题? 'output'

无论如何,这是我的代码。

#include<stdio.h>
int main(){
int start, end;

printf("Enter the starting point: ");
scanf("%d", &start);
printf("Enter the ending point: ");
scanf("%d", &end);

while(start <= end){
    if(start % 4 == 0){
        continue;
    }
    printf("Loading...%d%\n", start);

    start++;
}

return 0;

}

while(start <= end){
    if(start % 4 != 0){
        printf("Loading...%d%\n", start);
    }
    start++;
}

这是一个涉及继续的建议。

continue关键字没有任何问题。问题是您的 start 变量在 continue 执行时不会增加。您可以像这样使用 continue。因此,开始变量在继续之前递增。

if(start % 4 == 0){
    start++;
    continue;
}

再补充一点。 printf("Loading...%d%\n", start); 这一行应该得到一些警告。因为在 printf() 上, % 对格式化变量有特殊意义。所以你应该使用 printf("Loading...%d%%\n", start); 来摆脱那个警告。