以下代码应该从数组中随机选取一个字符串然后说“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)”
答案 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;