首页 > 解决方案 > 使用在其他地方的 if 条件内声明的数组

问题描述

我根据随机生成的数字声明了一个数组。现在我知道我们不能在其他任何地方使用在 if 块中生成的数组,但我听说有动态内存分配和向量等方法?有什么帮助吗?

    srand(time(0));
int num=rand() % 6 + 1;

if(num==1)
char word[6] = {'b','a','t','m','a','n'};

if(num==2)
char word[6]={'k','i','l','l','e','r'};

if(num==3)
char word[6]={'b','e','a','u','t','y'};

标签: c++arraysloops

解决方案


一种方法:

srand(time(0));
int num=rand() % 6 + 1;

vector <char> word;

if (num == 1)
    word = {'b','a','t','m','a','n'};

if (num == 2)
    word = {'k','i','l','l','e','r'};

if (num == 3)
    word = {'b','e','a','u','t','y'};

或使用std::string

srand(time(0));
int num=rand() % 6 + 1;

string word;

if (num == 1)
    word = "batman";

if (num == 2)
    word = "killer";

if (num == 3)
    word = "beauty";

推荐阅读