注册 登录
编程论坛 C语言论坛

为什么if(prime(x) == 0)这里要有==0(彩色部分)才行

fuxuming2000 发布于 2022-09-27 17:11, 1051 次点击
#include<stdio.h>
#include<math.h>
int main(void)
{
    int i;
    int x;
    int prime(int x);
    printf("请输入一个数:");
    scanf("%d",&x);
   
    if(prime(x)== 0)
    {
    printf("%d它不是素数",x);
    }
    else
    {
        printf("%d它是素数",x);
    }
   
    }
   
    int prime(int x)
    {
    int i;

    int ret=1;
        if( x==1|| (x!=2  && x%2 ==0))
        ret =0;   
    for (i=2;i<=sqrt(x);i++)
    {
        if( x%i == 0)
        {ret = 0 ;
        break;
    }
        
    }
        return ret;
}

[此贴子已经被作者于2022-9-27 18:10编辑过]

4 回复
#2
mature1192022-09-27 21:37
if条件语句,括号里面有加判断表达式?可能我没搞清你要问啥?
如果不加==0;就是一个单纯的整数,无法为函数提供判断依据。如果问这个的话,这是基础问题。

[此贴子已经被作者于2022-9-27 21:39编辑过]

#3
不会游泳的虾2022-09-27 21:50
这句也可以这么写: if(!prime(x))   //if(prime(x)== 0)
#4
fuxuming20002022-09-28 08:39
回复 2楼 mature119
感谢!
#5
fuxuming20002022-09-28 08:39
回复 3楼 不会游泳的虾
感谢
1