一杯清茶2 发表于 2019-8-3 22:22:53

新手求助

{:5_100:}
#include<stdio.h>
int main(void)
{
      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;
}

上面的代码哪有问题,在vs2015里面测试提示:未定义标识符“_Bool”'
什么意思?
新手上路真难,不想入土啊

ba21 发表于 2019-8-3 22:54:21

代码哪抄来的。vc6 也没得_Bool
c99标准才有 直用接int flag=1就行了
要不就用 CodeBlocks 试下

http://www.1118pc.com/show_pdetails.asp?id=593

jackz007 发表于 2019-8-3 23:03:52

本帖最后由 jackz007 于 2019-8-3 23:08 编辑

      如果用的是 GNU C++ 编译器,布尔型变量用 bool 而不是 _Bool 来声明。而 bool 型变量只能有两个值 true 和 false,像楼主这样定义 _Bool flag = 1; 明显不是布尔型变量的用法,还不如直接用 int flag = 1 就可以了。

一杯清茶2 发表于 2019-8-3 23:34:21

ba21 发表于 2019-8-3 22:54
代码哪抄来的。vc6 也没得_Bool
c99标准才有 直用接int flag=1就行了
要不就用 CodeBlocks 试下


刚入门,按书上的代码写的

Neverturnback 发表于 2019-8-3 23:35:01

你看看你的文件结尾是.cpp还是.c如果是.cpp的话你换成.c试试看,之前有人问过这个问题的

一杯清茶2 发表于 2019-8-4 00:41:03

Neverturnback 发表于 2019-8-3 23:35
你看看你的文件结尾是.cpp还是.c如果是.cpp的话你换成.c试试看,之前有人问过这个问题的

新建的就是cpp文件

Neverturnback 发表于 2019-8-4 01:48:23

一杯清茶2 发表于 2019-8-4 00:41
新建的就是cpp文件

把cpp文件换成c文件_BOOL是C里面的cpp里面直接就是bool

一杯清茶2 发表于 2019-8-4 15:06:26

Neverturnback 发表于 2019-8-4 01:48
把cpp文件换成c文件_BOOL是C里面的cpp里面直接就是bool

c语言怎么这么复杂,好懵逼
页: [1]
查看完整版本: 新手求助