Операции отношения выполняются слева направо, но этот факт мало чтодает, ибо выражение a<b<c означает (a<b)<c, а вовсе не (a<b)&&(b<c). выражение-отношения: сдвиговое-выражение выражение-отношения < сдвиговое-выражение выражение-отношения > сдвиговое-выражение выражение-отношения <= сдвиговое-выражение выражение-отношения >= сдвиговое-выражение Операнды должны быть арифметического типа или типа указателей.Операции < (меньше чем), > (больше чем), <= (меньше или равно) и>= (больше или равно) дают результат 0, если указанное отношениене выполняется, и 1, если оно выполняется. Тип результата int. Над арифметическими операндами выполняются обычные арифметическиепреобразования. Над указателями выполняются обычные преобразованияуказателей. Предполагается, что любой указатель можно сравнитьс выражением, имеющим результат 0, и любой указатель можно сравнитьс указателем, имеющим тип void* (в этом случае указатель сначалапреобразуется к типу void*). Указатели на объекты или функцииодного типа (после преобразования указателей) можно сравнивать,результат зависит от взаимного расположения в памяти объектов илифункций. Два указателя на один и тот же объект считаются равными. Еслидва указателя настроены на нестатические члены одного объекта, тоуказатель, настроенный на член, описанный позднее, считаетсябольшим, при условии, что члены не имеют разных спецификацийуказатель-доступа ($$R.11.1), а класс не является объединением.Если два указателя настроены на нестатические члены одного объектаи спецификации указателей-доступа ($$R.11.1) этих членов различны,результат будет не определен. Если два указателя настроены на члены(данные) одного и того же объединения, они считаются равными. Если двауказателя настроены на элементы одного массива или смотрят за границумассива, то указатель, настроенный на элемент с большим индексом,будет большим. Все другие сравнения указателей определяютсяреализацией.