Stack(Ausgabe) |
02.09.2018, 05:19 | Auf diesen Beitrag antworten » | |||||
user684 | Stack(Ausgabe)
Ich wollte fragen, wie man zu der Ausgabe 46 kommt. Ich kann das leider nicht nachvollziehen , wie genau die Ausgabe (46 zustande kommt) Vielen Dank im Vorraus |
|||||
|
||||||
03.09.2018, 18:34 | Auf diesen Beitrag antworten » | |||||
as_string | Also, zuerst mal ist der Code sehr problematisch: Die Variable i wird nie deklariert und auch nicht initialisiert. Offenbar hast Du eine Zeile int i = 0; vergessen, kann das sein? Ohne i zu deklarieren ist der Code nämlich nicht kompilierbar. Falls die Zeile gleich vorne dran kommt, dann könnte man auch gleich als Initialisierung und Deklarierung so was machen: int i = v; Dann wiederum frage ich mich, für was man ein v übergibt, dann aber nur in i kopiert. Ist die Variable i vielleicht global deklariert? Das nächste: Die Schleife fängt zwar bei 0 an, aber die einzige Anweisung in der Schleife addiert zu i diesen Wert hinzu, was man sich bei einer 0 auch sparen kann. Man könnte die Schleife auch genau so gut bei 1 loslaufen lassen. Du schreibst immer i = i + v oder i = i + j. Normalerweise schreibt man bei so was immer i += v oder i += j als Abkürzung. Warum steht in der main() hintereinander zweimal dieselbe Zeile? Soll das so sein oder ist das nur ein Copy&Paste Fehler? Zur Erklärung der Rechnung: In der Schleife werden die Zahlen 0 bis 9 zu i dazu addiert. Die Summe von 0 (eigentlich auch von 1...) bis 9 ist aber, nach der Gauß-Formel: 9*10/2 = 45. Dann noch die 1 dazu, die mit v übergeben wurde und Du hast 46. Wie gesagt, das setzt natürlich voraus, dass i auch mit 0 beim Funktionsaufruf initialisiert wurde, was hier nicht der Fall ist. Gruß Marco |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
Die Neuesten » |
|