Hi an alle,
habe folgenden Code auf geeksforgeeks gefunden:
Die Ausgabe ist: 0 0 0 0
Kann mir das wer erklären ?
Ich verstehe es so, dass die i in der if-Anweisung dekrementiert wird und dann geprüft wird ob i != 0 ist und main beginnt von vorn.
Irgendwann ist i = 0, aber somit ist ja die if-Anweisung nicht mehr erfüllt.
Wieso springt er trotzdem in die Zeile printf und gibt 4 mal die 0 aus ?
LG
Laik
habe folgenden Code auf geeksforgeeks gefunden:
C:
#include <stdio.h>
int main()
{
static int i=5;
if(--i){
main();
printf("%d ",i);
}
return 0;
}
Die Ausgabe ist: 0 0 0 0
Kann mir das wer erklären ?
Ich verstehe es so, dass die i in der if-Anweisung dekrementiert wird und dann geprüft wird ob i != 0 ist und main beginnt von vorn.
Irgendwann ist i = 0, aber somit ist ja die if-Anweisung nicht mehr erfüllt.
Wieso springt er trotzdem in die Zeile printf und gibt 4 mal die 0 aus ?
LG
Laik