鱼C论坛

 找回密码
 立即注册
查看: 3183|回复: 9

[已解决]_Bool flag = 1;为什么一直报错

[复制链接]
发表于 2022-8-2 16:32:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 子书天河 于 2022-8-2 16:34 编辑

#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;
}
红色部分_Bool flag = 1;为什么一直报错,谢谢
最佳答案
2022-8-2 20:19:33
你用的DEV吗?DEV的可以写小写bool 像这样你试试
  1. #include<stdio.h>

  2. int main()
  3. {
  4.         int i,num;
  5.         bool flag = 1;
  6.       
  7.         printf("请输入一个整数:");
  8.         scanf("%d",&num);
  9.       
  10.         for(i=2;i < num/2;i++)
  11.         {
  12.                 if(num % i ==0)
  13.                 {
  14.                         flag = 0;
  15.                 }
  16.         }
  17.         if(flag)
  18.         {
  19.                 printf("%d是一个素数!\n",num);
  20.         }
  21.         else
  22.         {
  23.                 printf("%d不是一个素数!\n",num);
  24.         }
  25.       
  26.         return 0;
  27. }
复制代码

你输入正确数据类型的话会变黑体字
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-8-2 16:42:20 | 显示全部楼层
本帖最后由 临时号 于 2022-8-2 16:48 编辑

_Bool类型是C99标准新增的一个类型,所以请确定你的编译器支持C99标准,VC6.0就肯定不行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-2 16:43:11 From FishC Mobile | 显示全部楼层
c里没有布尔型变量,需要自定义
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-2 16:43:57 | 显示全部楼层
本帖最后由 临时号 于 2022-8-2 16:48 编辑

解决方法:
1.将_Bool改成int
2.自定义类型
  1. #define _Bool int
  2. #define true 1
  3. #define false 0
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-2 19:28:40 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-2 20:19:33 | 显示全部楼层    本楼为最佳答案   
你用的DEV吗?DEV的可以写小写bool 像这样你试试
  1. #include<stdio.h>

  2. int main()
  3. {
  4.         int i,num;
  5.         bool flag = 1;
  6.       
  7.         printf("请输入一个整数:");
  8.         scanf("%d",&num);
  9.       
  10.         for(i=2;i < num/2;i++)
  11.         {
  12.                 if(num % i ==0)
  13.                 {
  14.                         flag = 0;
  15.                 }
  16.         }
  17.         if(flag)
  18.         {
  19.                 printf("%d是一个素数!\n",num);
  20.         }
  21.         else
  22.         {
  23.                 printf("%d不是一个素数!\n",num);
  24.         }
  25.       
  26.         return 0;
  27. }
复制代码

你输入正确数据类型的话会变黑体字
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-2 20:20:38 | 显示全部楼层
本帖最后由 柿子饼同学 于 2022-8-2 20:21 编辑
额外减小 发表于 2022-8-2 20:19
你用的DEV吗?DEV的可以写小写bool 像这样你试试
你输入正确数据类型的话会变黑体字


话说, 这个是 c++ 的
不过没毛病
bool 类型不是c语言的基本数据类型 但是是可以使用bool类型,这个特性是在C99标准加上去的(C98还是没有加上去的,啰嗦了)。使用前要先包含 #include <stdbool.h>,

常识性的问题:C语言是在1972产生的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-3 00:13:44 | 显示全部楼层
柿子饼同学 发表于 2022-8-2 20:20
话说, 这个是 c++ 的
不过没毛病
bool 类型不是c语言的基本数据类型 但是是可以使用bool类型,这个特 ...

我写C都用DEV-C++也没问题阿?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-3 09:50:51 | 显示全部楼层
额外减小 发表于 2022-8-3 00:13
我写C都用DEV-C++也没问题阿?

对 , 没问题
但这个是c++的 , 就是说一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-3 21:10:36 | 显示全部楼层
柿子饼同学 发表于 2022-8-3 09:50
对 , 没问题
但这个是c++的 , 就是说一下

好的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-17 08:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表