Цитата(Jenya7 @ Oct 1 2017, 12:45)
а что в результате получиться? в коде есть сравнение if (var != STATE2)
получается дефайн выражается определенным десятичным числом. я бы сказал 6 но зачем char?
А какой тип у var ?
Для корректного сравнения в If величины дб одного типа.
Например, сравнивать арифметически -5 и 0x1234 бессмыслено.
(-5 может быть char, int, long и их бинарный вид будет разный и занимать разное кол-во байт)
В if работает "неявное" приведение типов, но иногда ОНО справится не может, тогда и указывают тип явно.