verstehndniss problem: blockbildung bei der "if" anweisung

dika

Grünschnabel
hallo,

habe folgendes programm :


Code:
#include <stdio.h>
int naehste_zahl ()
{
static int zahl=10;
if (zahl > 12)
zahl = 10;
zahl++;
 
return zahl;
}
main()
{
int x=1;
while (x < 10)
{
printf("%4i", naehste_zahl ());
x++;
}
return(0);
}


nun verstehe ich nicht warum der compiler das quellcode oben in der funktion so interpretiert:

http://people.freenet.de/erkelenz/111.jpg




meiner meinung nach wäre es so richtig :

http://people.freenet.de/erkelenz/222.jpg


müsste der code für das obere bild nicht so heissen? :
Code:
int naehste_zahl ()
{
static int zahl=10;
if (zahl > 12)
{
zahl = 10;
}
zahl++;
 
Zurück