
Рекомендую проверить.
А когда пройдёт первое удивление, что ничего не падает, то почитать вот тут

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Код: Выделить всё
; ++table[str[i]]
00BA144C mov eax,dword ptr [ebp+8]
00BA144F add eax,dword ptr [i]
00BA1455 movsx ecx,byte ptr [eax]
00BA1458 mov dl,byte ptr [ebp+ecx-108h]
00BA145F add dl,1
Код: Выделить всё
; ++table[(unsigned char)str[i]]
010F144C mov eax,dword ptr [ebp+8]
010F144F add eax,dword ptr [i]
010F1455 movzx ecx,byte ptr [eax]
010F1458 mov dl,byte ptr [ebp+ecx-108h]
010F145F add dl,1
Код: Выделить всё
++table[(unsigned char)str[i]]
Код: Выделить всё
bool has_three_or_more_equal_symbols(const char* str)
{
if (str != nullptr)
{
short table[256] = {0};
while (*str != 0)
{
if (++table[(unsigned char) *str++] > 2)
return true;
}
}
return false;
}