C-Code nicht klar

Gast #40570
Hi,

ich bin mit der Sprache C noch nicht ganz vertraut und habe mir das
Buch
"C für Mikrocontroller" gekauft. Dort ist ein Beispiel-Quelltext
drin,
welchen ich nicht ganz kapiere.

int GetMax( int y, int z)
{   if (y>z) return y;
    return z;
}

Logisch, daß y rückgegeben wird, wenn y größer z ist.
Aber wann wird die dritte Zeile (return z) ausgeführt?
Fehlt da nicht ein else?

Armin
Gast #40571
Nein, denn wenn y<z, so wird 'return y;' nicht ausgefuehrt. Ueberleg
mal was ein if sonst ueberhaupt bringen wuerde.

Vielleicht fehlen dir da irgendwelche Klammern, das ganze kann man
natuerlich auch als

if (y>z){
  return y;
}
return z;

schreiben. Das macht hier aber nicht wirklich sinn, da bei positivem
vergleich immer die Anweisung nach dem if ausgefuehrt wird. Die
Klammern bilden nur einen block, effektiv ist das dann auch nur eine
Anweisung.
Das else dass dir abgeht waere z.b hier von noeten:

int GetMax( int y, int z)
{
  int max;
  if (y>z) max = y;
  else max = z;

  return max;
}

Uebrigens, es gibt excellente Buecher ueber C, auch online material ist
(in massen) zu haben, z.b http://www.cprogramming.com

mfg

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.