Показать сообщение отдельно
Старый 04.07.2003, 00:54     # 6
Machine
Guest
 
Сообщения: n/a

alexey_ma
Не могу согласиться Проверка успешная будет в том случае, когда *p1 окажется равным *p2. Алгоритм ведь основан на том, что в случае успеха каждый раз будет срабатывать брейк:

if (*p1 == *p2) break;

Выход из алгоритма произойдет:

1. Когда (*p1 == *p2) и (*p2 == '\0') - это случай, когда все проверки были успешными. На выходе получим 0.

2. Когда брейк не сработал и (*p2 == '\0') - проверка не удалась, на выходе разность - какой знак у нее мы не знаем, но это точно не 0.