gpt4 book ai didi

c++ - ".exe has stopped working"当我尝试计算字符串时

转载 作者:搜寻专家 更新时间:2023-10-31 02:19:19 28 4
gpt4 key购买 nike

我似乎无法运行代码。如果有人能解释为什么会这样,我将不胜感激。

#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

struct Jugador{
int codigo;
string nombre;
float tiempo;
int tamano;
int cuad_magico[][3];
};

int main()
{
const int N=7;
Jugador Jugadores[N];
string J[N]={"HUGO","PACO","LUIS","DONALD","PLUTO","MICKEY","GOOFY"};

Jugadores[0].nombre = J[0];
Jugadores[1].nombre = J[1];
Jugadores[2].nombre = J[2];
Jugadores[3].nombre = J[3];
Jugadores[4].nombre = J[4];
Jugadores[5].nombre = J[5];
Jugadores[6].nombre = J[6];

Jugadores[0].codigo=0;
Jugadores[0].tamano=3;
Jugadores[0].tiempo=3.5;
Jugadores[0].cuad_magico[0][0]=4;
Jugadores[0].cuad_magico[0][1]=9;
Jugadores[0].cuad_magico[0][2]=2;
Jugadores[0].cuad_magico[1][0]=3;
Jugadores[0].cuad_magico[1][1]=5;
Jugadores[0].cuad_magico[1][2]=7;
Jugadores[0].cuad_magico[2][0]=8;
Jugadores[0].cuad_magico[2][1]=1;
Jugadores[0].cuad_magico[2][2]=6;

Jugadores[1].codigo=1;
Jugadores[1].tamano=3;
Jugadores[1].tiempo=6.2;
Jugadores[1].cuad_magico[0][0]=8;
Jugadores[1].cuad_magico[0][1]=3;
Jugadores[1].cuad_magico[0][2]=4;
Jugadores[1].cuad_magico[1][0]=1;
Jugadores[1].cuad_magico[1][1]=5;
Jugadores[1].cuad_magico[1][2]=9;
Jugadores[1].cuad_magico[2][0]=6;
Jugadores[1].cuad_magico[2][1]=7;
Jugadores[1].cuad_magico[2][2]=2;

Jugadores[2].codigo=2;
Jugadores[2].tamano=3;
Jugadores[2].tiempo=4.3;
Jugadores[2].cuad_magico[0][0]=2;
Jugadores[2].cuad_magico[0][1]=9;
Jugadores[2].cuad_magico[0][2]=4;
Jugadores[2].cuad_magico[1][0]=7;
Jugadores[2].cuad_magico[1][1]=5;
Jugadores[2].cuad_magico[1][2]=3;
Jugadores[2].cuad_magico[2][0]=6;
Jugadores[2].cuad_magico[2][1]=1;
Jugadores[2].cuad_magico[2][2]=8;

它卡在这里,我做错了什么吗?

    cout <<  Jugadores[1].nombre  << endl;
}

最佳答案

int cuad_magico[][3];

这不会为 cuad_magico 分配数组。您只定义了一个指向 3 个整数数组的指针。通过阅读您的代码,您似乎想说:

int cuad_magico[3][3];

如果没有这个,当您编写 Jugadores[1].cuad_magico[2][2]=2 或类似操作时,您会出现未定义的行为,因为数组未分配。

p.s.: 既然你被允许使用 STL(因为你使用 string),为什么不使用 std::vector?使用 STL 数组和 vector 比使用原生 C 风格的数组要好得多。

关于c++ - ".exe has stopped working"当我尝试计算字符串时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33597039/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com