输入一个值switch选择递归函数自身时突发的情况

void gamestart()
{
    int i, j = 0, x, y;
    srand((unsigned int)time(NULL));
    for (i = 0; i < N; i++)
    {
        type[i] = rand() % 4;
        game[i] = poker[rand() % 13];
        if (i >= 1) {
            for (j = 0; j < i; j++) {
                while (type[j] == type[i] && game[j] == game[i]){
                    type[i] = rand() % 4;
                    game[i] = poker[rand() % 13];
                }
            }
        }
    }
    printf("\n当前的牌是:\n");
    draw(N);
    printf("---------------------------------------------------------------\n");
    printf("请选择操作方式:\n");
    printf("    <1>、输入计算公式\n");
    printf("    <2>、重新抽牌\n");
    printf("请输入:");
    scanf_s("%d", &x);
    switch (x) 
    {
    case 1:
        break;
    case 2:
        **gamestart();**
        break;
    }
}

img

img