C语言中for 语句的使用

#include 
int isPrime(int n)
{ int i;
   for(i=2;iif(n%i==0)
         return 1;
  if(i==n) return 0;
}
int main()
{ int n;
  if(isPrime(n))
  printf("%d is a prime",n);
  else
  printf("%d is not a prime",n);
return 0;
}

这个程序的bug在哪里啊?

这个程序有一个严重的错误,就是在调用 isPrime 函数之前并没有为变量 n 赋值。


在调用 isPrime 函数之前,应该先输入一个整数,然后将这个整数赋值给 n,然后再调用 isPrime 函数。

修改后的代码应该是这样的:

#include <stdio.h>

int isPrime(int n)
{
   int i;
   for(i=2;i<n;i++)
      if(n%i==0)
         return 1;
  if(i==n) return 0;
}

int main()
{
   int n;
   printf("Enter an integer: ");
   scanf("%d", &n);  // 输入一个整数

   if(isPrime(n))
      printf("%d is a prime",n);
   else
      printf("%d is not a prime",n);

   return 0;
}