WinterSoldier ha scritto:
Stamperà 2 perché il valore di c non essendo specificato è "vuoto".
Sbagliato, è poco probabile ma potrebbe anche stampare 1. Il motivo, come ho già provato a spiegarti più volte, è che una variabile non inizializzata non è come dici tu "vuota" (che poi bisognerebbe vedere cosa significa), ma presenta un valore indeterminato che dipende da cosa si trova in quel momento nelle locazioni di memoria ad essa dedicate.
Se ancora non ci credi prova a lanciare il seguente codice:
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cout << a << endl << b << endl << c;
}
WinterSoldier ha scritto:
... non mi sono mai posto il problema perché anche negli esercizi guida dati dalla prof non sempre i valori vengono inizializzati, soprattutto quando poi li prendiamo noi da tastiera.
Riprendo quello che ho scritto in precedenza
se utilizzi una variabile devi prima assegnargli un valore
Come vedi io parlo di assegnazione in generale, che comprende sia il caso di inizializzazione che quello di inserimento da tastiera.