蔡文静 发表于 2021-9-4 16:47:02

C语言S1E15课程内容打印报错提示_Bool和flag未声明标识符

本帖最后由 蔡文静 于 2021-9-4 17:08 编辑

#include<stdio.h>

int main()
{
        long long i, num;
        _Bool flag = 1;

        printf("请输入一个整数:");
        scanf_s("%lld", &num);

        for (i = 2; i < num / 2; i++)
        {
                if (num % i == 0)
                {
                        flag = 0;
                        break;
                }
        }
        if (flag)
        {
                printf("%lld是一个素数!\n", num);
        }
        else
        {
                printf("%lld不是一个素数!\n", num);
        }

        return 0;
}

donjames 发表于 2021-9-4 17:02:01

for循环的判断条件有问题,应该是改成
for(i=2;i<=sqrt((double)num);i++)

donjames 发表于 2021-9-4 17:02:45

用sqrt函数,还要加上
#include<math.h>

donjames 发表于 2021-9-4 17:12:53

flag设置成int就行了

donjames 发表于 2021-9-4 17:15:16

如果要定义成布尔类型的,试试用bool flag
页: [1]
查看完整版本: C语言S1E15课程内容打印报错提示_Bool和flag未声明标识符