把扑克牌随机分给四个人,为什么始终运行不出结束


#include
#include
#include
struct card
{
    int number;
    char suit;
};

      
      
int main()
{
    int n,i,j;
    int m[52];
    m[0]=100;
    struct card deck[]={
      {1,'C'},{2,'C'},{3,'C'},{4,'C'},{5,'C'},{6,'C'},{7,'C'},
      {8,'C'},{9,'C'},{10,'C'},{11,'C'},{12,'C'},{13,'C'},
      {1,'D'},{2,'D'},{3,'D'},{4,'D'},{5,'D'},{6,'D'},{7,'D'},
      {8,'D'},{9,'D'},{10,'D'},{11,'D'},{12,'D'},{13,'D'},
      {1,'H'},{2,'H'},{3,'H'},{4,'H'},{5,'H'},{6,'H'},{7,'H'},
      {8,'H'},{9,'H'},{10,'H'},{11,'H'},{12,'H'},{13,'H'},
      {1,'S'},{2,'S'},{3,'S'},{4,'S'},{5,'S'},{6,'S'},{7,'S'},
      {8,'S'},{9,'S'},{10,'S'},{11,'S'},{12,'S'},{13,'S'}, };
    struct card first[13];
    struct card second[13];
    struct card third[13];
    struct card forth[13];
    for(i=0;i<13;i++)
    {
        //分别为first分配
     for(j=0;j<=i;)
    {
        //避免随机数重复
    while(j<=i)
    {
    srand((unsigned int)time(0));
    n=rand()%53;
        if(n=m[j])
        continue;
        else
        j++;
    }    
    }
  first[i]=deck[n];
    }
    
    for(i=0;i<13;i++)
    {
     for(j=0;j<=i;)
    {
    while(j<=i)
    {
    srand((unsigned int)time(0));
    n=rand()%53;
        if(n=m[j])
        continue;
        else
        j++;
    }    
    }
  second[i]=deck[n];
    }
    for(i=0;i<13;i++)
    {
     for(j=0;j<=i;)
    {
    while(j<=i)
    {
    srand((unsigned int)time(0));
    n=rand()%53;
        if(n=m[j])
        continue;
        else
        j++;
    }    
    }
  third[i]=deck[n];
    }
    for(i=0;i<13;i++)
    {
     for(j=0;j<=i;)
    {
    while(j<=i)
    {
    srand((unsigned int)time(0));
    n=rand()%53;
        if(n=m[j])
        continue;
        else
        j++;
    }    
    }
  forth[i]=deck[n];
    }
    
    

    
    for(i=0;i<13;i++)
    {
        printf("%d\n",first[i].number);
        printf("%c\n",first[i].suit);
    }
     for(i=0;i<13;i++)
    {
        printf("%d\n",second[i].number);
        printf("%c\n",second[i].suit);
    }
     for(i=0;i<13;i++)
    {
        printf("%d\n",third[i].number);
        printf("%c\n",third[i].suit);
    }
     for(i=0;i<13;i++)
    {
        printf("%d\n",forth[i].number);
        printf("%c\n",forth[i].suit);
    }   
    return 0;
}#include
#include
#include
struct card
{
    int number;
    char suit;
};

      
      
int main()
{
    int n,i,j;
    int m[52];
    m[0]=100;
    struct card deck[]={
      {1,'C'},{2,'C'},{3,'C'},{4,'C'},{5,'C'},{6,'C'},{7,'C'},
      {8,'C'},{9,'C'},{10,'C'},{11,'C'},{12,'C'},{13,'C'},
      {1,'D'},{2,'D'},{3,'D'},{4,'D'},{5,'D'},{6,'D'},{7,'D'},
      {8,'D'},{9,'D'},{10,'D'},{11,'D'},{12,'D'},{13,'D'},
      {1,'H'},{2,'H'},{3,'H'},{4,'H'},{5,'H'},{6,'H'},{7,'H'},
      {8,'H'},{9,'H'},{10,'H'},{11,'H'},{12,'H'},{13,'H'},
      {1,'S'},{2,'S'},{3,'S'},{4,'S'},{5,'S'},{6,'S'},{7,'S'},
      {8,'S'},{9,'S'},{10,'S'},{11,'S'},{12,'S'},{13,'S'}, };
    struct card first[13];
    struct card second[13];
    struct card third[13];
    struct card forth[13];
    for(i=0;i<13;i++)
    {
        //分别为first分配
     for(j=0;j<=i;)
    {
        //避免随机数重复
    while(j<=i)
    {
    srand((unsigned int)time(0));
    n=rand()%53;
        if(n=m[j])
        continue;
        else
        j++;
    }    
    }
  first[i]=deck[n];
    }
    
    for(i=0;i<13;i++)
    {
     for(j=0;j<=i;)
    {
    while(j<=i)
    {
    srand((unsigned int)time(0));
    n=rand()%53;
        if(n=m[j])
        continue;
        else
        j++;
    }    
    }
  second[i]=deck[n];
    }
    for(i=0;i<13;i++)
    {
     for(j=0;j<=i;)
    {
    while(j<=i)
    {
    srand((unsigned int)time(0));
    n=rand()%53;
        if(n=m[j])
        continue;
        else
        j++;
    }    
    }
  third[i]=deck[n];
    }
    for(i=0;i<13;i++)
    {
     for(j=0;j<=i;)
    {
    while(j<=i)
    {
    srand((unsigned int)time(0));
    n=rand()%53;
        if(n=m[j])
        continue;
        else
        j++;
    }    
    }
  forth[i]=deck[n];
    }
    
    

    
    for(i=0;i<13;i++)
    {
        printf("%d\n",first[i].number);
        printf("%c\n",first[i].suit);
    }
     for(i=0;i<13;i++)
    {
        printf("%d\n",second[i].number);
        printf("%c\n",second[i].suit);
    }
     for(i=0;i<13;i++)
    {
        printf("%d\n",third[i].number);
        printf("%c\n",third[i].suit);
    }
     for(i=0;i<13;i++)
    {
        printf("%d\n",forth[i].number);
        printf("%c\n",forth[i].suit);
    }

if(n=m[j]) 改成if(n==m[j])