int i, num;
i = 1;
num = 51;
while (i <= 51) {
if (num % i == 0) {
printf("%d\n",i);
}
i++;
}
为什么这个i++要写在if语句外面啊
while里面有两个语句,前面那个是if的复合语句,后面那个是i++语句;如果i++在if里面,那么while就只有一个语句,i++就没有用了
找51的约数 不写在外面怎么遍历呢 if语句只是输出约数的作用
如果在if里面则是死循环,第一次执行时num为51,i为1不执行IF括号内
无论i是否能被51整除,都要计算下一个数,当然每次循环都要加一。
i++写在if语句里面就是死循环了
同一楼:i++,写在if语句外面,控制while从1遍历到51
你这个是要遍历1到51的数值,if里面的句子只是执行判断当前的数值是否满足被num(51)整出和遍历无关,所以i的添加要在外面,如果对编程的循环语句还有疑问,建议你先看一下这篇内容:Java中的循环语句
若 if 条件不成立,接下来的步骤还需进行下去,i需要继续增加,此处将 i++ 写在 if 外面,无论if成立与否,都会执行 i++ 命令,以便进行后续操作。
你可以试着将其写在里面运行一下
嗯嗯,很感谢大家的回答,谢谢!
学习学习了!!放里面就是计算出多少个约数,不过得另外加变量
将i++放在if语句外面,将i从1至51递增,无论if条件是否成立;若将i++放在if语句中,如果条件不成立,程序将会进入死循环