C++ 从Char数组输出到控制台

C++ 从Char数组输出到控制台,c++,arrays,char,C++,Arrays,Char,我正在创建一个必须使用字符而不是字符串的刽子手游戏。我想知道如何从字符数组中选择一个随机单词,并将其作为符号显示在控制台上,例如******而不是单词。我当前的数组;多谢各位 char words [6][10] = { "Pistachio", "Avocado", "Salami", "Bologna", "Christmas", "Giraffes", }; 这就是我到目前为止所知道的我不太清楚 cout <<"Test " &

我正在创建一个必须使用字符而不是字符串的刽子手游戏。我想知道如何从字符数组中选择一个随机单词,并将其作为符号显示在控制台上,例如******而不是单词。我当前的数组;多谢各位

char words [6][10] =
{
    "Pistachio",
    "Avocado",
    "Salami",
    "Bologna",
    "Christmas",
    "Giraffes",
};
这就是我到目前为止所知道的我不太清楚

cout <<"Test " <<words <<endl;

这只是一个随机数???

我想你在寻找这个:

#include<cstdlib>


int v;
for(int i=0; i<10; i++)
{
    v = rand() %6;
    printf("%s\n", words[v]);
}

要从cstring数组输出cstring,需要提供该字符串的索引

cout <<"Test " <<words <<endl;
将只打印数组的第一个元素的地址,因为这是数组名称的简化形式。因此,从阵列显示的正确方式是:

cout <<"Test " <<words[indexOfTheStringYouWant] <<endl;

单词是一个字符**一个字符数组[10]。如果我正确理解了您需要的是以下内容

#include <iostream>
#include <algorithm>
#include <numeric>
#include <cstdlib>
#include <ctime>


int main()
{
    const size_t N = 6;
    const size_t M = 10;
    char words[N][M] =
    {
        "Pistachio",
        "Avocado",
        "Salami",
        "Bologna",
        "Christmas",
        "Giraffes",
    };
    size_t index[N];

    std::iota( index, index + N, 0 );

    std::srand( ( unsigned int )std::time( nullptr ) );

    std::random_shuffle( index, index + N );

    for ( size_t i = 0; i < N; i++ ) std::cout << words[index[i]] << std::endl;

    return 0;
}

请展示您迄今为止所做的尝试。@Josh160请查看我的答案。我强烈建议您至少学习一个基本的C教程……我是否将v声明为整数单词是数组的数组。它衰减为指向数组的指针char*[10],而不是char**。你说得对。。。我快速阅读我经常使用的字符*单词[]={…},它们会变成字符**。
#include <iostream>
#include <algorithm>
#include <numeric>
#include <cstdlib>
#include <ctime>


int main()
{
    const size_t N = 6;
    const size_t M = 10;
    char words[N][M] =
    {
        "Pistachio",
        "Avocado",
        "Salami",
        "Bologna",
        "Christmas",
        "Giraffes",
    };
    size_t index[N];

    std::iota( index, index + N, 0 );

    std::srand( ( unsigned int )std::time( nullptr ) );

    std::random_shuffle( index, index + N );

    for ( size_t i = 0; i < N; i++ ) std::cout << words[index[i]] << std::endl;

    return 0;
}
Giraffes
Bologna
Pistachio
Avocado
Salami
Christmas