你可以先看下书

到底是“出来混迟早要还”还是“杀人放火金腰带”?
程序代码:
#include<stdio.h>//将一个偶数拆分成两个素数
#include<math.h>// 我原先想用开方函数sqrt的,程序中没有用到的话,这里可以不要
int flag=0;//使用flag的目的就是作为标志位的
void ss(int x)
{
int i=2;
for(i=2;i<x;i++)
{
if(x%i==0) break;
}
if(i==x) flag=1;//意思是如果如果i与x相等,说明x是素数,因为前面for中一直没有跳出
}
void ss(int x);
void main()
{
int i,j,n;
printf("请输入一个大于4的偶数:");
scanf("%d",&n);
for(i=3;i<=(n/2);i+=2)
{
j=n-i;
ss(i);
if(flag==1)//这里是判断标志位是否为1,如果是,则表示i为素数
{
flag=0;//因为前面使用了素数判断,所以使用过后,标志位应该清0
ss(j);
if(flag==1)//同样,这里也是为了判断j是否为素数的
printf("%d能被拆成的两个素数分别为:%d,%d\n",n,i,j);
}
flag=0; //同样,这里因为前面对j进行了判断,所以应该在判断完毕后,对标志位进行清零炒作
printf("\n");
}
}