C++ 55行C和x2B+;调试时代码崩溃

C++ 55行C和x2B+;调试时代码崩溃,c++,C++,下午好 我正在玩C++,现在我正在尝试创建一副牌。我已经做了我认为已经创造了52张卡片,然后尝试随机抽出一张,看看它能容纳多少数字和适合。当我这样做时,它会构建项目,然后我会看到一个弹出窗口,显示cards.exe已停止工作。我不确定我做错了什么,我会在下面发布我的代码,同时寻找如何改进我已经做过的事情的建议 谢谢 //============================================================================ // Name

下午好

我正在玩C++,现在我正在尝试创建一副牌。我已经做了我认为已经创造了52张卡片,然后尝试随机抽出一张,看看它能容纳多少数字和适合。当我这样做时,它会构建项目,然后我会看到一个弹出窗口,显示cards.exe已停止工作。我不确定我做错了什么,我会在下面发布我的代码,同时寻找如何改进我已经做过的事情的建议

谢谢

  //============================================================================
// Name        : cards.cpp
// Author      : 
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================

#include <iostream>
using namespace std;

struct card {
    int value; // 1-13
    char suit;//H D S C
};




int main() {
    char suit;
    card **deck;
    deck = new card *[52];

    //first loop to run every card second loop to place 13 cards per suit
    for (int i; i <=13; i++){
            for (int j; j <=4; j++ ){
                //use a s witch to determine what suit we are on
                switch (j){
                    case 1:
                        suit = 'H';
                    break;

                    case 2:
                        suit = 'D';
                    break;

                    case 3:
                        suit = 'S';
                    break;

                    default:
                        suit = 'C';
                    break;
                }
            deck[i] = new card;
            deck[i]->value = i;
            deck[i]->suit= suit;
        }
    }

    cout << deck[3]->value <<deck[3]->suit;
    return 0;
}
//============================================================================
//名称:cards.cpp
//作者:
//版本:
//版权:您的版权声明
/ C++:ANSI风格的Hello World
//============================================================================
#包括
使用名称空间std;
结构卡{
int值;//1-13
char suit;//H D S C
};
int main(){
炭服;
卡片**甲板;
卡片组=新卡片*[52];
//第一个循环运行每一张卡第二个循环放置13张卡每套
for(int i;i suit=suit;
}
}

cout value您需要在
中为(int j;j)初始化j。解决此类问题的正确工具是调试器。在询问堆栈溢出之前,您应该逐行检查代码。有关更多帮助,请阅读。至少,您应该[编辑]您的问题将包括一个重现您的问题的示例,以及您在调试器中所做的观察。在第一个
for
循环中修复初始化
i和
i
后,在调试器下运行您的代码,然后返回比“这有什么问题?”更具体的内容。。。