LY616098210 发表于 2019-8-26 15:42:39

vc6.0++里面不能使用布尔类型??

我看视频里面使用布尔类型但我vc里面好像不能用,为什么??
#include <stdio.h>

int main()
{
        int i,num;
      _Boolflag = 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;
}
我百度后他说 要添加<stdbool.h>,但没有用??这是为什么?

ba21 发表于 2019-8-26 15:45:44

不行。 前面用typedef

https://blog.csdn.net/richerg85/article/details/39027385

jackz007 发表于 2019-8-26 15:55:13

      VC6 确实不行,但是,楼主可以变通啊,用 int 型变量替代,false 就是 0 值,true 就是非 0 值

LY616098210 发表于 2019-8-26 17:05:56

jackz007 发表于 2019-8-26 15:55
VC6 确实不行,但是,楼主可以变通啊,用 int 型变量替代,false 就是 0 值,true 就是非 0 值

那具体是怎么改呢??有点迷!!

flamer 发表于 2019-8-26 17:12:47

c没有bool类型,但是c++有啊   你把文件后缀改成.cpp再编译试试
是bool 不是_Bool

jackz007 发表于 2019-8-26 17:17:21

本帖最后由 jackz007 于 2019-8-26 17:26 编辑

LY616098210 发表于 2019-8-26 17:05
那具体是怎么改呢??有点迷!!

typedef char bool ;
#define true1
#define false 0

#include <stdio.h>

main(void)
{
    bool x                           ;
    x = true                         ;
    if(x) printf("hello, world!\n");
    x = false                        ;
    if(! x) printf("hello, FishC\n") ;
}


      就是上面代码的前 3 行,只要把这 3 行内容添加到你的代码,就可以支持 bool 型数据了。你甚至可以考虑把它们写进一个专门的头文件 bool.h,需要使用的时候,只要把它包含进来就可以了,需要注意的是,这种方法只能在编译器不支持 bool 型数据的情况下权宜使用。

LY616098210 发表于 2019-8-26 20:34:01

flamer 发表于 2019-8-26 17:12
c没有bool类型,但是c++有啊   你把文件后缀改成.cpp再编译试试
是bool 不是_Bool

还真是,用更改后缀后发现可以使用和编译 ,谢谢!!!
页: [1]
查看完整版本: vc6.0++里面不能使用布尔类型??