Это будет работать, только если у вас нет совпадений. Как только res изменяется на отличное от 0. Он не имеет возможности изменить обратно на 0. Поэтому, если ваш код найдет какое-либо совпадение, он будет go бесконечным l oop.
Потому что один раз res = 1
выполняется, вы никогда не переназначаете его снова на 0. поэтому, когда он выполняется res = 1
, он переходит в бесконечное l oop
Отредактировано Вы можете сделать это, в другой части просто сбросьте res до 0
else{
result=true;
c++;
res=0;
}