1203081549 发表于 2023-3-20 21:31:44

用函数实现素数

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:34:25

本帖最后由 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));
                  }

KeyError 发表于 2023-3-20 21:49:35

for(j=2;j<=i;j++);
最后多了一个冒号导致后面的判断语句不在循环里,
只会判断一次。
页: [1]
查看完整版本: 用函数实现素数