编写程序,验证任意一个偶数为两个素数之和,并输出这两个素数。
#include <stdio.h>
int isprime(int);
void even(int);
int main()
{
int a;
printf("Enter a even numner:");
scanf("%d",&a);
if(a % 2 == 0) even(a);
else printf("The %d isn't even number\n'",a);
}
void even(int x)
{
int i;
for(i = 2;i <= x/2;i++)
if(isprime(i))
if(isprime(x-i))
{
printf("%d = %d+%d\n",x,i,x-i);
return;
}
}
int isprime(int a)
{
int i;
for(i = 2;i <= a/2;i++)
if(a % i == 0)
return 0;
return 1;
}
以上是书上给出的代码但是我在计算和运行后发现这个代码如果输入0或者2的话会没有任何输出内容,0和2在c中不是偶数吗