2015-07-29 3 views
0

Я новичок в программировании на C++, и у меня есть вопрос относительно условий. В настоящее время мы изучаем C++ в школе (используя TC, я знаю, что это старый компилятор, но да). В настоящее время я делаю программу tic-tac-toe, непобедимую. Теперь это моя проблема.Множественные проверки равенства/неравенств в операторах if

Я хочу проверить равенство 3 переменных и запустить тело if только в том случае, если 3 переменные не равны другой переменной. Почему этот набор кода не работает?

if(a==b==c!=d) 
{ 
} 

Добавление круглых скобок не помогает, я, вероятно, делают это неправильно. (Пожалуйста, простите мое невежество)

if((a==b==c)!=d) 
{ 
} 

Заранее спасибо! -CaptainAwesome

ответ

2

Потому что вы это сделали. Вы не можете делать логические сравнения, подобные этому.

Придерживайтесь двух операндов за раз и используйте && и ||, чтобы комбинировать результаты.

Я не совсем ясно, на ваших требованиях, но начинать с чего-то вроде этого:

if (a == b && b == c && c != d) 
+0

@APRocha: Возможно, потратьте больше энергии, сосредоточившись на правильной логике! 'Б = c'? –

+0

мм,! Ошибка печатать! – APRocha

+0

, и я рекомендую добавлять каждое логическое сравнение между(), для удобочитаемости. пример: if ((a == b) && (b == c) && (c! = d)) – APRocha

2

Вы должны написать каждое условие в отдельности и объединить их с помощью && (логическое и):

if(a==b && b==c && c!=d) 
{ 
    // ... 
} 
Смежные вопросы