При этом функция u08 uartReceiveByte ( u08 nUart, u08 * data ) возвращает это самое TRUE (== -1) как u08 (т.е. беззнаковое unsigned char).
Кто бы объяснил это?
beer_warrior
Mar 26 2007, 23:46
В принципе можно предположить, что -1 неявно приводиться к беззнаковому нужной разрядности. т.е. 0xff / 0xffff / 0xffffffff .
2 ALL Перечитывая сегодня справочник по С++ обнаружил, что false/ true в C отдан на откуп юзерам. А вот в С++ только 0 и 1, и никаких 0xffffffff. Может все-таки и в С стоит придерживаться этого стандарта? Хотя 0xff используют сплошь и рядом.
defunct
Mar 27 2007, 14:27
Цитата(beer_warrior @ Mar 26 2007, 22:46)
А вот в С++ только 0 и 1, и никаких 0xffffffff. Может все-таки и в С стоит придерживаться этого стандарта?
Поддерживаю. Хотя вопрос не суть важный, если избегать прямых проверок с "TRUE"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.