Switch, Funktionsaufruf und Cout
-
@DirkB sagte in Switch, Funktionsaufruf und Cout:
die aktuelle Zeilennummer
Ne, eben nicht. Dann kappiert er verschachtelte Funktionsaufrufe wieder nicht.
-
@hustbaer sagte in Switch, Funktionsaufruf und Cout:
@GMgenia
Was meinst du wo es weiter geht, wenn die Ausführung an dieser Stellevoid otherFunktion() { std::cout << "otherFunktion()\n"; funktion(); } // <---------------------------
angekommen ist?
Genau darum geht es in meiner Frage. Warum kommt das Funktionsende erst zum Abschluss des Programmablaufs? Wenn eine Ausgabe nach dem Funktionsaufruf steht, kommt auch dieser erst zum Ende des Programmablaufs.
-
Da, ich habs dir aufgemalt:
+--- main() ----+ +--- function() ------------------+ | function(); --|---->| std::cout << ">"; | | return 0; <---|--+ | switch(_getch()) { *) | +---------------+ | | case '1': | +--- otherFunction() -----------------+ | | otherFunction(); ----------|---->| std::cout << "otherFunction()\n"; | +--- function() ------------------+ | | std::cout << "\nBack "; <--|--+ | function(); -----------------------|----->| std::cout << ">"; | | | break; | +--|--[return;] <------------------------|--+ | switch(_getch()) { *) | | | } | | | | | case '1': | +--- otherFunction() -----------------+ +--|--[return;] | +-------------------------------------+ | | otherFunction(); ----------|---->| std::cout << "otherFunction()\n"; | +--- function() ----------------------+ | | | | std::cout << "\nBlack "; <-|--+ | function(); -----------------------|---->| std::cout << ">"; | +---------------------------------+ | | break; | +--|--[return;] <------------------------|--+ | switch(_getch()) { *) | | | } | | | | | case '1': | +--- otherFunction() -----------------+ +---|--[return;] | +-------------------------------------+ | | otherFunction(); ----------|----->| std::cout << "otherFunction()\n"; | +--- function() -------------------+ | | | | std::cout << "\nBack "; <--|--+ | function(); -----------------------|---->| std::cout << ">"; | +---------------------------------+ | | break; | +---|--[return;] <---------------------------+ | switch(_getch()) { ----[ input != 1 ]---+ | | } | | | | | case '1': | | +--|--[return;] | +-------------------------------------+ | | otherFunction(); | | | | | | std::cout << "\nBack "; | | +-------------------------------------+ | | break; | | | | } | | +--|--[return;] <---------------------|-------+ | | +----------------------------------+
* ) Eingabe ist
'1'
.
-
Dieser Beitrag wurde gelöscht!
-
So, jetzt sollt's stimmen.
-
@Swordfish sagte in Switch, Funktionsaufruf und Cout:
So, jetzt sollt's stimmen.
Oh, das Bild ist supper! Jetzt habe ich verstanden!!
Erst ab der Eingebe !=1 kehrt der Programmablauf zurück und die Ausgabe der cout wird auf dem Bildschirm ausgegeben! Darauf wäre ich nicht gekommen.... Vielen Dank für diese super Erklärung!!
-
@Swordfish OT: hast du nen tool fuer deine ascii art?
-
@Cardiac Ja, Notepad++ ^^
-
@Cardiac ASCII Art Studio schaut nett aus.
Da gibts was brauchbar aussehendes online: https://asciiflow.com
-
@Swordfish Niedlich, ich hab versucht was derartiges zu finden, aber google war der meinung deutsch verwenden zu muessen, also waren die ergebnisse entsprechend misearbel...
merci fuer den link :>