#include <stdio.h>
int main()
{
int i,j,k,charge,prime_number[100],m,n,z;
for(i=6;i<=1000;i++)
{
if(i%2==0)
{
for(m=2,k=0;m<=i;m++)
{
charge=0;
for(j=2;j<i;j++)
{
if(m%j==0)
{
charge=1;
break;
}
}
if(charge==0)
{
prime_number[k]=m;
k++;
}
}
for(z=0;z<k;z++)
{
for(n=0;n<k;n++)
if(prime_number[z]+prime_number[n]==i)
{
printf("%d=%d+%d",i,prime_number[z],prime_number[n]);
}
}
}
}
}
for(j=2;j<i;j++) --> 这一行改为 for(j=2;j<m;j++)
int 型和数组不能一起定义
你这个写麻烦了 可以用更简单的办法的
for(m=2,k=0;m<=i;m++) 每次k都被赋0了