m0_69355035 2022-06-23 17:35 采纳率: 100%
浏览 10
已结题

为什么可以运行,但结果一直是“是素数”

#include<stdio.h>
#include<math.h>

#define BOOL int
#define TRUE 1
#define FALSE 0
int fun(int n);
int main()
{
int n;
BOOL flag;
printf("输入一个大于1的自然数:\n");
scanf("%d",&n);
fun(n);
if(flag = TRUE)
{
printf("是素数");
}
else
{
printf("不是素数");
}

}
int fun(int n)
{
int i;
BOOL flag = TRUE;
for(int i=2;i<n;i++)
{
if(n%i==0)
{
flag = FALSE;
break;
}
}
return flag;
}

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-06-23 17:46
    关注

    if(flag = TRUE)改为
    if(flag == TRUE)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月1日
  • 已采纳回答 6月23日
  • 创建了问题 6月23日