如何在字符串数组中使用if语句?

时间:2015-08-06 22:34:25

标签: c++ arrays string random srand

以下代码应该从数组中随机选取一个字符串然后说“Yay!”如果选择了快乐。

#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <string>
using namespace std;

int main()
{

    srand(time(NULL));
    string textArray[4] = { "Happy", "Sad", "Mad", "Overjoyed." };
    int RandIndex = rand() % 4;
    cout << textArray[RandIndex] << endl;
    //if (textArray == "Happy") old
    if (RandIndex == 0) //new
    {
        cout << "Yay!" << endl;
    }
    cin.get();
}

我的问题是操作数类型与字符串和字符不兼容。什么是这个问题的最佳解决方案?

编辑:我需要做的就是将“if(textArray ==”Happy“)”替换为“if(RandIndex == 0)”

1 个答案:

答案 0 :(得分:2)

例如

if ( textArray[RandIndex] == "Happy" ) 
{
    cout << "Yay!" << endl;
}

或喜欢

if ( RandIndex == 0 ) 
{
    cout << "Yay!" << endl;
}

最好至少写一下

string textArray[] = { "Happy", "Sad", "Mad", "Overjoyed." };
const size_t N = sizeof( textArray ) / sizeof( *textArray );

size_t randIndex = rand() % N;