Einzelnen Beitrag anzeigen
Ungelesen 26.05.11, 18:54   #4
Your_Conscience
Hinter dir!
 
Registriert seit: Apr 2010
Beiträge: 1.124
Bedankt: 487
Your_Conscience ist noch neu hier! | 0 Respekt Punkte
Standard

Ich versuche dir mal den 2. Punkt genauer zu erläutern:

Also gucken wir uns mal diese Zeile an: "printf("Die Zahl war: %d\n",i);"
Das printf sagt dem Compiler erstmal, dass jetzt eine formatierte Ausgabe folgt.
Danach kommt dieser Abschnitt: "Die Zahl war: %d\n"
Da dies in Anführungszeichen steht, zeigt es dem Compiler, dass das ein Text ist, der ausgegeben wird. Allerdings überprüft er noch, was dort so steht: Wenn er zb. "%d" findet, sagt es ihm, dass an dieser stelle eine ganze (integer) Zahl steht. Das "\n" steht für eine neue Zeile, das hast du richtig erkannt.
Bei der Ausgabe ersetzt er dann das "%d" durch das i. Warum? Weil es hinter dem Komma steht.

Bsp.:
printf("A%d, B%d, C%d", x, y, z);
Wenn x = 1, y = 2, z = 3 würde er "A1, B2, B3" ausgeben.
Also in das erste %d wird die erste Variable nach dem Komma eingesetzt, beim 2. %d die 2. Variable und beim 3. %d die 3. Variable.
Es muss auch nicht unbedingt %d sein: Bei zb. "printf("A%d, B%e, C%f", x, y, z);" wird das %d wieder durch das x, %e durch y und %f durch z ersetzt.
%e und %f stehen dann für Gleitkomma-Zahlen.

Ich hoffe, dass das jetzt verständlich genug war - hab mir Mühe gegeben
Your_Conscience ist offline   Mit Zitat antworten