i!i!i!i!i!i!i!i
Cadet 2nd Year
- Registriert
- Dez. 2008
- Beiträge
- 23
Hallo,
Ich bin auf eine komische Sache gestoßen; mehr durch Zufall. Ich poste einfach mal den Code, der mir keinen Fehler im Compiler macht, sondern einfach ausgeführt wird:
Worums geht is klar; Ein Array 'test' mit fünf Feldern vom Typ Integer wird mit Werten belegt. Feld 0 erhält die 1, Feld 1 die 2 usw. bis Feld 5.
Gleichzeitig werden die Felder ausgegeben um zu beweisen, dass die Werte eingetragen wurden.
Danach werden aber Felder aufgerufen, die es nach der Definition von 'test' gar nicht gibt. Es wird kein Fehler angezeigt, sondern irgendwelche Zahlen.
Die Ausgabe des Programms ist nämlich folgende:
Die ersten 5 Zeilen sind klar, aber kann mir jemand die restlichen erklären?
Ich versteh nämlich nicht, warum der Compiler da keinen Fehler ausgibt...
Edit: Ach ja habs in DevC++ und in MS Visual C++ probiert, bei beiden das gleiche Ergebnis...
Ich bin auf eine komische Sache gestoßen; mehr durch Zufall. Ich poste einfach mal den Code, der mir keinen Fehler im Compiler macht, sondern einfach ausgeführt wird:
Code:
int test[5];
for (int i=0; i<5; i++)
{
test[i] = i;
cout<<test[i]<<endl;
}
cout<<"\n"<<test[9]<<endl;
cout<<test[10]<<endl;
cout<<test[11]<<endl;
cout<<test[12]<<endl;
Worums geht is klar; Ein Array 'test' mit fünf Feldern vom Typ Integer wird mit Werten belegt. Feld 0 erhält die 1, Feld 1 die 2 usw. bis Feld 5.
Gleichzeitig werden die Felder ausgegeben um zu beweisen, dass die Werte eingetragen wurden.
Danach werden aber Felder aufgerufen, die es nach der Definition von 'test' gar nicht gibt. Es wird kein Fehler angezeigt, sondern irgendwelche Zahlen.
Die Ausgabe des Programms ist nämlich folgende:
Code:
0
1
2
3
4
3498920
3487968
1759384949
114817492
Ich versteh nämlich nicht, warum der Compiler da keinen Fehler ausgibt...
Edit: Ach ja habs in DevC++ und in MS Visual C++ probiert, bei beiden das gleiche Ergebnis...