Условие не выполняется, хотя оно верно

    #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

→ Ссылка