Условие не выполняется, хотя оно верно
#include <iostream>
using namespace std;
int main()
{
char str[50];
cin >> str;
char str2[50] = "";
for (int i = 0, j = 0; str[i] != '\0'; i++, j++) {
if (str[i] == 0 and str[i + 1] == 0 and str[i + 2] == 0) {
i += 2;
}
else { str2[j] = str[i]; }
}
cout << str2;
}
Если строка например 10001, то почему то на втором символе выполняются операторы из else, хотя по условию должны из if
Ответы (1 шт):
Автор решения: enderline13
→ Ссылка
Вспомнил, что символы в строке являются переменными char, то есть должно быть '0' , а не просто 0