D
djtraumwelt
Foren As
Code:
int main(int argc, char *argv[]) {
int x;
int y;
x=1;
y=1;
if (x==y)
if (x==1) {
x=2;
y=3;
printf("Hello World!");
}
return 0;
}
Wenn man ein if ohne { und } macht, dann muss das, was passiert, wenn die Bedingung erfüllt ist, in eine Zeile passen. In dem obigen Programm stehen aber 5 Zeilen, die ohne Meckern des Compilers oder des Systems alle ausgeführt werden. Habe dieses Programm unter Win getestet und der Hello World String wird tatsächlich ausgegeben. Des weiteren: Wenn man jetzt vor den ifs anstatt y=1 ein y=2 macht und somit dafür sorgt, dass die Bedingung nicht erfüllt ist, dann sollte das Programm doch eigentlich nur eine Zeile überspringen und zwar mitten in die zweite if rein. Es wird aber tatsächlich alles übersprungen und kein Hello World ausgegeben. Und das ganze funktioniert sogar, wenn bei zutreffen der Bedingung eines if ohne { und } ein for kommt.
Hat man also einen Code, der bei zutreffen der Bedingung jediglich eine weitere if oder eine schleife ausführen soll, dann kann man sich die lästigen { und } sparen.
Zuletzt bearbeitet: