c++ 我需要帮助写一个字符数组

dced5bon  于 2023-04-13  发布在  其他
关注(0)|答案(1)|浏览(135)

我有3个用户需要在x和o之间进行选择。我询问用户1的选择,然后生成用户2和用户3的选择。我的3个字符是choice 1,choice 2,choice 3。当在我的代码中调用时,输出是字母choosed/generated。例如:用户1:x用户2:〇用户3:X
如何创建一个数组来保存这3个char值?

char choice_value [2] = 'x' , 'o'
char choices [3] = 'choice1','choice 2','choice3'

我说的对吗?

e0bqpujr

e0bqpujr1#

如果你想要一个三个字符串的数组,并且你想使用C风格的字符串,你有两个选择。

char *choices[3] = {"choice1", "choice2", "choice3"};

或者你可以声明一个数组的数组。我们给予每个字符串9个字符,加上空终止符的空间。

char choices[3][10] = {"choice1", "choice2", "choice3"};

区别是显著的。在第一种情况下,数组中的每个元素都是一个指向字符的 * 指针 *。如果你用字符串字面量初始化它,请注意你不能修改它们。如果你不这样做,请记住你需要确保它们指向有效的内存。
在第二个选项中,内存是静态分配的。如果没有未定义的行为,这些字符串永远不会超过9个字符。
如果使用C++,最好是std::string数组。

std::string choices[3] = ...

更好的方法是使用std::vectorstd::array

相关问题