大神指教一下,为什么我的-Bool flag是错误的!
#include<stdio.h>int main()
{
int i,num;
_Bool flag=1;
printf("请输入一个整数:");
scanf("%d",&num);
for(i=2;i<num/2;i++)
{
if(num%i==0)
{
flag=0;
}
}
if(flag)
{
printf("%d是一个素数!\n",num);
}
else
{
printf("%d不是一个素数!\n",num);
}
return 0;
}
5 3 D:\devc++\素数.cpp '_Bool' was not declared in this scope
13 4 D:\devc++\素数.cpp 'flag' was not declared in this scope
16 5 D:\devc++\素数.cpp 'flag' was not declared in this scope 可能是你的dev版本太低,不支持c99标准
加windows.h头文件可以使用bool类型值 if(num%i==0)
{
flag=0;
//在这里应该加break;
} 两种方案。
第一种加个头文件 stdbool.h
第二种改成c文件 可以不加头文件
本帖最后由 新建word 于 2017-12-20 19:42 编辑
_Bool这是什么类型?
你用的是什么 编译器 怎么可以编译通过呢?
vs2010 编译通过
#include<Windows.h>
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
int num=0;
while (1)
{printf("请输入一个整数:");
scanf("%d",&num);
if (num >2)
break;
printf("\n必须大于2 \n");
}
BOOL t=0;
for (int i = 2;i<num; ++i )
{
if (num % i ==0)
{
t=1;
break;//写不写无所谓 ,无非程序多跑点路,但是要养成好的习惯;有正确的结果了 就要退出;
}
}
if (!t)
printf("%d 是 素数",num);
else
printf("%d 非 素数",num);
system("pause");
return 0;
}
页:
[1]