C语言初学者,有些语句不理解,求解

画圈圈的部分怎么回事,当k=2时,j循环到3的时候, k<=(j/2)不成立啊,为什么,还会执行while中的语句

图片说明

j=3不会执行while,j>=4才会执行。你再检查下。

for里面的执行顺序是,第一个是初始化,第二个是循环条件,for的循环体执行完后,再执行,第三个语句。不知道是不是这个原因

当K=3时,不满足循环条件,所以不执行循环语句,prime=1,所以3为质数

如果测试中 出现你说的这种情况 可这样分析外循环for循环 先执行一次 内循环 while还没执行 这时再进行循环时j=4,k=2所以走while循环。然后 再循环时k=3,j=5跳出while循环。

j=3时while没执行,把程序看全了,下一页是不是还有代码和解释啊?结合整个程序看

j=3时,j/2=1,k=2是不会执行while循环的。

k是int整型变量,,所以k只能取整数,而j=3时,j/2会自动向下取整