你程序的问题出现在
while(num2
num2=2;
num=num1%num2;
num2++;
a=isPrime(num);
if(a==1)
printf("%5d",num1);
}
假设num1=4的时候,你没次进循环num2=2,num2++,num2=3;再次进循环num2=2,num2++,num2=3;因此一直有num2
while(num2
num2=2;
num=num1%num2;
num2++;
a=isPrime(num);
if(a==1)
printf("%5d",num1);
}
这段程序第三行有错,
把num2 = 2;去掉就好了
因为每循环一次都对num2赋值,num = num1 % num2;中num2始终为2,循环无限进行中……