我这个程序怎么不输出
#include<stdio.h>
int main()
{
int j=0;
for(int i=2;i<100;i++)
{
j=i;
while(j%(--i))
{
if(i==1)
printf("sushu:%d\n",j);
}
}
}
[解决办法]
循环开始
i=2;
j=i;于是j=2;
j%(--i) 就是2%1 假,不进行while循环
i此时是1,之后进入for循环的步进i++,i变为2,于是又重复了刚才的过程,死循环形成。
改成如下就可以
仅供参考
#include<stdio.h>
int main()
{
int j=0;
for(int i=2;i<100;i++)
{
j=i;
while(i%(--j))
{
if(j==2)
printf("sushu:%d\n",i);
}
}
}