Задать вопрос
@Evsign

Почему у неинициализированной переменной значение 0?

Читаю книгу по C++ Primer 5th edition (Stanley Lippman, Josée Lajoie, and Barbara E. Moo).
Там написано, что если переменная объявляется вне функции, то она автоматически инициализируется значением 0, а если переменная объявляется внутри функции, то она не будет инициализирована и будет содержать значение undefined. Это касательно build-in типов.

#include <iostream>
using namespace std;
int a;
int main(){
	int b;
	cout << a << " " << b << endl;
}

Почему тогда вот этот код выводит
0 0
?
  • Вопрос задан
  • 2672 просмотра
Подписаться 2 Оценить Комментировать
Решение пользователя Лолшто К ответам на вопрос (6)
@Lol4t0
Потому что так сложились звезды. Потенциально, вывод может быть любым, потому он и undefined. Ноль - входит в множество всевозможных вариантов
Ответ написан