Sven: Frage zur Logik [C]

Beitrag lesen

Hallo,

schaut euch mal bitte folgenden einfachen Code an:
---------------------------------------------------
#include <stdio.h>
 int main(void)
 {
  int a,b;
  a=0;
  b=0;
  while(a<=25)
   {
   a++;
   printf("%i",a);
   while(b<=25)
   {
             b++;
      printf("TEST");
          }

}

}
-----------------------------------------------------
So, meine Ausgabe ist folgendermaßen:
1TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
TEST
234567891011121314151617181920212223242526

Aber das ist doch falsch oder nicht?
Die äußere Schleife zählt auf 1 und Springt in die Innere Schleife die wiederum bis 25 zählt und somit 25 mal "TEST" ausgibt, danach _sollte_ doch wieder die äußere anspringen, bis 2 zählen und dann sollte wieder die Innere anspringen, 25 mal Test ausgeben und so weiter.....
Also musste die ausgabe doch 25*25 "TEST" ausgegeben werde oder nicht? In diesem fall wurde die Innere Schleife doch nur einmal ausgeführt, die äußere hat sich aber 25 mal ausgeführt, das sieht man ja an den Zahlen das gezählt wurde.
Was ist falsch oder verstehe ich das einfach falsch?
Theoretisch müsste 25 mal "TEST" kommen dann eine hochgezählte Zahl, dann wieder 25 mal "TEST", wieder eine hochgezählte Zahl usw.....
Versteht einer was ich meine ;)

Danke für Hilfe!