c - 为什么这个检查素数的程序不起作用?

标签 c

我刚刚开始编程。我编写了一个简单的 C 程序来检查素数,但它不起作用。请帮我找出我的错误。

#include<stdio.h>
void main()
{
   int n,i,c=0;
   printf("enter any number: ");
   scanf("%d", &n);
   for(i=2;i<n;i++)
   {
     if(n%i==0)
       c=c+1;
     if(c>0){
       break;
       printf("\n%d is  not   a prime number",n);
     }
   }
   if(i==n)
     printf("\n%d is a prime number",n);
}

最佳答案

如果将 break 放在 printf("\n%d is not a prime number",n); 之后,程序将正常工作。当 C 执行 break 命令时,它会立即跳出最近的循环,因此不会执行循环中的下一行,即不会打印出它不是素数。

关于c - 为什么这个检查素数的程序不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28372541/

相关文章:

c++ - 删除有两个 child 的目标

C、打印字符串链表

c - 如何从系统调用中提取错误?

c - 使用 fscanf 读取可变数量的整数

C : Compile openSSL project

c - 等待 child 完成

我可以返回在函数中创建的缓冲区吗?

c - c call sync 和命令sync 做的一样吗?

c - Apache2.4如何加载一个完整的库

c - 可移植软快速C IDE