Доброй ночи всем.
Имеется кусок кода:
Код
while (iIndex != g_iDifficultyVarSize)
{
if (strcmp(g_szDifficultyStrings[iIndex], g_szDifficulty, false) == 0)
{
g_hDifficulty.SetString(g_szDifficultyStrings[iIndex], true);
PrintToChatAll("\x05Установлен уровень сложности \x01- \x03%s \x01| Index: %i", g_szDifficultyStrings[iIndex], iIndex);
return;
}
}
Хочу сделать, чтобы у переменной iIndex был инкремент в каждом блоке кода. Что я имею в виду:
Код
while (iIndex != g_iDifficultyVarSize)
{
if (strcmp(g_szDifficultyStrings[iIndex], g_szDifficulty, false) == 0)
{
iIndex++;
g_hDifficulty.SetString(g_szDifficultyStrings[iIndex], true);
PrintToChatAll("\x05Установлен уровень сложности \x01- \x03%s \x01| Index: %i", g_szDifficultyStrings[iIndex], iIndex);
return;
}
iIndex++;
}
Но этот код "не очень" красивый чтоль
Пробовал сделать так:
Код
while (iIndex != g_iDifficultyVarSize)
{
if (strcmp(g_szDifficultyStrings[iIndex], g_szDifficulty, false) == 0 && iIndex++)
{
g_hDifficulty.SetString(g_szDifficultyStrings[iIndex], true);
PrintToChatAll("\x05Установлен уровень сложности \x01- \x03%s \x01| Index: %i", g_szDifficultyStrings[iIndex], iIndex);
return;
}
}
Но сервер при исполнении кода падает. Каким образом сделать то, что мне необходимо, чтобы не задействовать инкремент во всех блоках кода, а только в одном, или если так, то это невыполнимо и придётся использовать самый первый вариант ?