Код срабатывает через раз. Выдаёт ошибку чтения
Начал изучать 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;
}