XO Game C ++
此代码仅返回"它是一个领带!!" ..我的代码中的错误是什么?
#include <stdio.h>
int main()
{
char a1,b1,c1,a2,b2,c2,a3,b3,c3;
scanf("%c%c%c\n%c%c%c\n%c%c%c",&a1,&b1,&c1,&a2,&b2,&c2,&a3,&b3,&c3);
if(a1==b1==c1=='X'||a2==b2==c2=='X'||a3==b3==c3=='X'||a1==a2==a3=='X'
||b1==b2==b3=='X'||c1==c2==c3=='X'||a1==b2==c3=='X'||c1==b2==a3=='X'){
printf("X wins\n");
}
if(a1==b1==c1=='O'||a2==b2==c2=='O'||a3==b3==c3=='O'||a1==a2==a3=='O'
||b1==b2==b3=='O'||c1==c2==c3=='O'||a1==b2==c3=='O'||c1==b2==a3=='O'){
printf("O wins\n");
}
if(a1!=b1!=c1||a2!=b2!=c2||a3!=b3!=c3||a1!=a2!=a3
||b1!=b2!=b3||c1!=c2!=c3||a1!=b2!=c3||c1!=b2!=a3){
printf("It’s a Tie !!\n");
}
}
答案 0 :(得分:0)
a1==b1==c1=='X'
这不符合你的想法。它将a1
与b1==c1=='X'
的布尔结果进行比较,可能会给false
。
要检查它们是否完全相同,您需要
a1=='X' && b1=='X' && c1=='X'