请问一下这个while语句 谢谢 各位!
  int i, num;
    i = 1;
    num = 51;
    while (i <= 51) {
        if (num % i == 0) {
            printf("%d\n",i);
        }
        i++;
    }
            为什么这个i++要写在if语句外面啊
0

11个回答

while里面有两个语句,前面那个是if的复合语句,后面那个是i++语句;如果i++在if里面,那么while就只有一个语句,i++就没有用了

3

找51的约数 不写在外面怎么遍历呢 if语句只是输出约数的作用

1

如果在if里面则是死循环,第一次执行时num为51,i为1不执行IF括号内

1

无论i是否能被51整除,都要计算下一个数,当然每次循环都要加一。

1

i++写在if语句里面就是死循环了

1

同一楼:i++,写在if语句外面,控制while从1遍历到51

1

你这个是要遍历1到51的数值,if里面的句子只是执行判断当前的数值是否满足被num(51)整出和遍历无关,所以i的添加要在外面,如果对编程的循环语句还有疑问,建议你先看一下这篇内容:Java中的循环语句

1
qq_31930741
从容_ 嗯,谢谢啦 感激
接近 4 年之前 回复

若 if 条件不成立,接下来的步骤还需进行下去,i需要继续增加,此处将 i++ 写在 if 外面,无论if成立与否,都会执行 i++ 命令,以便进行后续操作。
你可以试着将其写在里面运行一下

1

嗯嗯,很感谢大家的回答,谢谢!

0

学习学习了!!放里面就是计算出多少个约数,不过得另外加变量

0
共11条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!