Hallo,
ich hab ein kleines Verständnisproblem bei einen Quellcode.
Eigentlich ist es recht "einfach", es gibt ein Makro "AUSGABE", mit dem
eine Funktion aufgerufen wird, diese gibt wiederum eine Wert zurück.
Was mich dabei verwirrt ist: Wie die Funktion aufgerufen wird bzw.
welcher Wert zurückgegeben wird.
1 | #define AUSGABE (Daten() > 0)
|
Mich wundert was das " > 0 " zu bedeuten hat
Die Funktion "Daten" sieht so aus:
1 | Daten(void)
|
2 | {
|
3 | return(Rueckgabe);
|
4 | }
|
Ich habe mir das ganze mittels Debugger angeschaut und "Rueckgabe" hat
den Wert 4, wenn ich mir den Wert von "AUSGABE" anschaue steht da 1.
Wie kann durch "> 0" aus der 4 eine 1 werden?
Meine Vermutung ist, dass das Makro den Wert 1 annimmt, sobald ein Wert
größer 0 als Rueckgabewert übergeben wird?
Die "Behauptung"
ist erfüllt und somit wahr (=1).
Stimmt meine Vermutung oder liege ich falsch?
Danke
unwissender_Neuling