wie kann man eine Funktion durch einmaliges Abfragen auf mehrere Rückgabewerte hin untersuchen.
Ich möchte eine Funktion praktisch einmalig aufrufen und je nachdem ob diese mir eine 0, eine 1 oder eine 2 zurückgibt unterschiedliche „Aktionen“ auslösen.
Geht dies nur mit einer zusätzlichen Variablen, die das „Ergebnis“ der Funktion zunächst einmal übergeben bekommt, oder gibt es eine alternative Möglichkeit (vielleicht etwas, das sich so ähnlich wie switch/case anfühlt)?
Ich frage mich, ob ich eine Funktion einmalig abfragen und deren Rückgabewerte verarbeiten kann, ohne hierfür zusätzlich eine Variable erstellen zu müssen.
Chris72622:
Ich frage mich, ob ich eine Funktion einmalig abfragen und deren Rückgabewerte verarbeiten kann, ohne hierfür zusätzlich eine Variable erstellen zu müssen.
Gruß Chris
Und was hast du gegen Variablen?
Aber du kannst auch den Rückgabewert direkt auwerten bzw. abfragen.
HotSystems:
Aber du kannst auch den Rückgabewert direkt auwerten bzw. abfragen.
Ja, ich weiss. Wenn ich das aber mache, kann ich immer nur nach einem der drei von mir angegeben Rückgabewerte "fragen", oder? Und genau darauf zielt meine Frage ab.
Ich wusste nicht, dass man einen Funktionsaufruf direkt in ein switch() eines switch/case-Konstrukts einbauen kann/darf. Vielen Dank michael_x- Problem gelöst. Sorry, für die Verwirrung, die ich wohl gestiftet habe.
Wer C kennt weiss, dass es gehen sollte.
Wer C kennt ist evtl. aber auch vorsichtig, ob garantiert ist, dass die Funktion nur einmal aufgerufen wird. Der Compiler erlaubt auch viel Unsinn
Wer da (über-)vorsichtig ist, sollte mit einer lokalen Hilfsvariablen arbeiten. Die kann man dann auch bei Bedarf in eine Serial.println Testausgabe einbauen. Einfache Anweisungen sind auch leichter verständlich.