用函数实现素数
int fun(int a){
int i,j,k=0;
i=a/2;
for(j=2;j<=i;j++);
{
if(a%j==0)
k++;
}
if(k==0)
return 1;
else
return 0;
}
void main()
{
int x;
scanf("%d",&x);
printf("%d",fun(x));
}
为什么2会返回0,其他的一切正常 本帖最后由 isdkz 于 2023-3-20 21:49 编辑
int fun(int a)
{
int i,j,k=0;
i=a/2;
for(j=2;j<=i;j++); // 这里多了一个分号
{
if(a%j==0)
k++;
}
if(k==0)
return 1;
else
return 0;
}
void main()
{
int x;
scanf("%d",&x);
printf("%d",fun(x));
}
for(j=2;j<=i;j++);
最后多了一个冒号导致后面的判断语句不在循环里,
只会判断一次。
页:
[1]