麻烦大神帮我看看c语言一个简单的程序
#include<stdio.h>bool is_prime(int val)
{
int i;
for(i=2;i<val;i++)
{
if(val%i==0)
break;
}
if(val==i)
{
return true;
}
else
{
return false;
}
}
void main()
{
int m;
printf("请输入一个数字:");
scanf("%d",&m);
if(is_prime(m)==true))
{
printf("是素数");
}
else
printf("不是素数");
}
就是这个程序的主函数里,调用判断素数的函数,判断的时候哦用不用在条件里写==true,写不写程序都能运行,为什么不写也可以运行???
应该是因为 true 被视为是 1
if的话,当不为 0 时即可运行
此时 is_prime 的返回值是 1,满足 if 的条件 #include <stdio.h>
int main()
{
if (1){
printf("hello world!\n");
}
return 0;
}
试试这个代码 is_prime(m)本身就是接收了返回值=true/Falsse呀
if true/False 返回什么就是什么不用判断等不等于 可以不用在判断里面写的,因为你函数返回的时候已经判断了真还是假,根据返回值if里面是有判断的 C语言里有bool,true,false这些关键字吗? C99定义的 _Bool:布尔类型的数据,其值为0或1,主要用来判断条件能否成立的真假;你的bool是哪里来的?还有true和false都是哪里来的啊
页:
[1]