C语言哥德巴赫猜想(我用的函数)

需要验证[6,50]之间的偶数,输出格式如下: 40等于3+37 40=11加29 40等于17+23(换行)。
但是!它的输出判定很奇怪,我给几个例子吧:
1、若”printf("6等于3加3"\n8等于3加5\n(后面省略));,这样子在第二行(即”8=3+5就判错)
2、若“printf("6等于3加3");printf("\n8等于3加5");(后面类推),同样在第二行也会报错。
(过多重复等号和加号会被屏蔽我服了)
究竟怎么输出才能正确呢?

#include <stdio.h>
#include <math.h>
 
int number;
int Firstnum;
int Secondnum;
 
int  main()
{
    int x,y;
    int Temp;
    printf("Please input Number\n");
    scanf("%d",&number);
    for(x=2;x<number/2;x++)
    {
        Firstnum =x;
        Temp =sqrt(Firstnum)+1;
        for(y=2;y<Temp;y++)
        {
            if(Firstnum % y == 0 )
            {
                Firstnum = 0;
                break;
            }
        }
        Secondnum=number-x;
        Temp=sqrt(Secondnum)+1;
        for(y=2;y<Temp;y++)
        {
            if(Secondnum % y == 0)
            {
                Secondnum = 0;
                break;
            }
        }
        if(Firstnum&&Secondnum)
            printf("%d = %d + %d\r\n",number,Firstnum,Secondnum);
        
    }
    return 0;
}

img

还是贴代码吧,看你举例子并没有什么问题。