Код срабатывает через раз. Выдаёт ошибку чтения

Начал изучать c++. Делал задание из книжки Страуструпа. Суть в том, чтобы задать указатель в цикле так, чтобы условие внутри цикла принимало вид (*p=='?'). Код работает исправно, но через раз. Иногда выдаёт ошибку чтения файла. В чём может быть проблема?

int main(){
char* p;
char m[4] = {'E', '?', '4', '?'};
p = m;
int i=0;
while (*p++ != '0') {
    if (*p == '?') {
        i++;
        std::cout << i << "\n";
    }
}
return 0;

}


Ответы (0 шт):