第一次实际在此发布,很兴奋呵呵。
因此,我们从学校得到了这项任务来制作a子手游戏。我已经完成了大多数困难的事情,但是有一件事我似乎无法解决,谷歌也找不到适合我的答案,所以我就在这里。
`int guess()
{
char letter[0];
int tries=0;
for(int i=0;i<length;i++)
{
meme[i]='_';
}
cout<<meme;
cout<<"Guess a letter: ";
cin>>letter;
while(strlen(letter) >= 2)
{
cout<<"Guess a letter: ";
cin>>letter;
}
for(int i=0;i<length;i++)
{
if(letter[0]==word[i])
{
meme[i]=letter[0];
}
else
{
//Fel bokstav
}
cout<<meme;
}
}`
“Meme”是空格,发生的是,当我输入正确的字母时,而不是在字符“Meme”中替换“_”,而是在此行中得到了一些东西(假设单词是meme):
“猜字母:m”
“m___m___m_m_m_m_”
如果有人可以帮助我解决这个问题,我将非常感激。提前致谢!
最佳答案
问题是您在cout << meme
循环的内执行了for
。因此,meme
在您的字符串中每个字符打印一次(所以打印了四次)。要解决此问题,只需将cout << meme
移动到下面一行,如下所示:for(int i=0;i<length;i++)
{
if(letter[0]==word[i])
{
meme[i]=letter[0];
}
else
{
//Fel bokstav
}
}
cout<<meme;
关于c++ - 用另一个替换字符数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40228675/