嘿,我刚刚开始编程,所以我不知道如何修复它。这是我的代码:
if(f_1 == 'x' && f_2 == 'x' && stupid < '80' )
{
f_3 == 'o';
player_turn = '1';
}
else if(f_2 == 'x' && f_3 == 'x' && stupid < '80')
{
f_1 == 'o';
player_turn = '1';
}
...
但我不知道他为什么不在这里给出错误:
if (eingabe == '1' && f_1 == '1' && player_turn == '1' )
{
f_1= 'x';
player_turn = '2';
cout << "Spieler Zwei ist am Zug" <<endl;
}
else if (eingabe == '2' && f_2 == '2' && player_turn == '1') {
f_2= 'x';
cout << "Spieler Zwei ist am Zug" <<endl;
player_turn = '2';
}
...
这不是同一个问题。我用Google搜索了,但我不明白我在哪里犯了错误&#34;&#34;和&#39;&#39;
答案 0 :(得分:1)
'80'
是一个有效的多字符常量,但很可能不是你想要的。因此编译器就此警告你。
“但我不知道他为什么不在这里给出错误:”
我无法从你的背景中看出你实际上想要实现的目标,但是
if (eingabe == '1' && f_1 == '1' && player_turn == '1' )
第二个样本中的字符常量都很好。
答案 1 :(得分:0)
您的问题在以下代码中
stupid < '80'
假设stupid
的类型为char
,则该值应为单个字符。 '80'
不是有效的单字符文字,它是一个多字符文字,可能是你不想要的。
OTOH,在第二个片段中,所有字符文字都是单字符常量,因此,它是正确的,不会产生任何警告。
答案 2 :(得分:0)
单引号''
用于字符文字(即一个字符),双引号""
用于字符串文字(字符数组,以NUL /零结尾)。有问题的多字符文字是'80'
- 单引号内有两个字符。