有关c语言孪生素数对问题

编译运行后没有任何输出

img

img


看了半天不知道哪里有问题,还请网友指出

下面是我的理解,供参考:
有两个地方,一是if(k=0)改为if(k==0),因为是需要判断是否k为0,即是否为满足孪生素数对的条件。
二是把 修改后的if(k==0) printf("%ld,%ld\n",t,t+2); 移到内层的for循环后面,以免产生两次孪生素数对的输出。
修改后如下:

#include <stdio.h>
#include <math.h>

int main(void){
    long int m,n,i,t,k;
    printf("请输入两个数:");
    scanf("%ld,%ld",&m,&n);
    if(m%2==0){
        m++;
    } 
    
    for(t=m;t<=n;t+=2){
        for(i=3,k=0;i<=sqrt(t);i+=2){
            if(t%i==0){
                k=1;
                break;
            }
            if((t+2)%2==0){
                k=1;
                break;
            }
            
            
        }
        
        if(k==0){
                printf("%ld,%ld\n",t,t+2);
            }
            
    }
    
    return 0;
} 

第17行条件里少了一个等于号,一个等号是赋值的意思,代表条件一直是false,所有不会打印数据