+1 Daumen
87 Aufrufe

Sprache: C
Level: Anfänger (keine Programmiererfahrung)
Compiler: Ich arbeite (also schreibe den code) mit
https://www.onlinegdb.com/online_c_compiler

Der Code
//* bspl0001.c */
#include <stdio.h>
main()
{
    printf("\nDies ist ein erstes C-Programm.\n");
    printf("\nWie Sie sehen, kann 'printf' ");
    printf("nicht nur Texte drucken,\n");
    printf("sondern auch rechnen.\n\n");
    printf("13 * 7 = %i \n",13 * 7 );

}

Dieser Code liefert folgendes...
bspl0001.jpeg


Problem / Frage
Wenn ich zähle, wieviele Zeilenumbrüche also \n im Code stehen, und diese nachvollziehen versuche, 
sehe ich dass in der Ausgabe die erste Zeile leer ist. Das stimmt, denn im ersten printf() steht vor Text so ein \n. Nach diesem ersten Satz steht auch so ein \n, das Programm macht auch unter diesem Satz eine leehre Zeile.

So weit korrekt. 

Danach stimmen aber Anweisungen die \n beinhalten nicht mehr. 

Wie kann ich dieses \n richtig verstehen und im Code anwenden?


von

1 Antwort

+2 Daumen
Danach stimmen aber Anweisungen die \n beinhalten nicht mehr. 

Doch, die stimmen.

Wie kann ich dieses \n richtig verstehen und im Code anwenden?

Ein \n bedeutet ein Zeilenumbruch.

printf("sondern auch rechnen.\n\n");

bedeutet eine Leerzeile. Vorher hast Du immer am Satzende und am Satzanfang ein Umbruch-Zeichen gehabt, weshalb dort eine Leerzeile entsteht (erste Ausgabe).

printf("13 * 7 = %i \n",13 * 7 );

Hier wird in %i das Ergebnis von 13 * 7 gespeichert. Nach dem Ergebnis folgt eine Leerzeile.

von

//* bspl0001.c */
#include <stdio.h>
main()
{
    printf("\nDies ist ein erstes C-Programm.\n");
    printf("\nWie Sie sehen, kann 'printf' ");
    printf("nicht nur Texte drucken,\n");
    printf("sondern auch rechnen.\n\n");
    printf("13 * 7 = %i \n",13 * 7 );

}

Wenn ich sage, dass \n = Zeilenumbruch bedeutet gehe ich davon aus dass es so simpel wie ein "Enter" im Word gehandhabt wird.
Mit diesem Wissen, interpretiere diesen Code so:

\n = new line
und rechts vom new line ist jeweils leer.


new line
Dies ist ein erstes C-Programm. new line
new line
Wie Sie sehen, kann 'printf' nicht nur Texte drucken, new line
sondern auch rechnen. new line
new line
13 * 7 = 91

das bedeutet:

leerzeile
Dies ist ein erstes C-Programm. zeilenumbruch
leerzeile
Wie Sie sehen, kann 'printf' nicht nur Texte drucken, zeilenumbruch
sondern auch rechnen. zeilenumbruch
leerzeile
13 * 7 = 91

Wenn ich sage, dass \n = Zeilenumbruch bedeutet gehe ich davon aus dass es so simpel wie ein "Enter" im Word gehandhabt wird.

Ja. So wie Du es beschreibst, ist es richtig.

Besten Dank, mir fällt auf, dass nach der letzten Zeile automatisch eine Leerzeile kommt. 
Ist das so standardmässig vordefiniert?

Gern geschehen :-)

mir fällt auf, dass nach der letzten Zeile automatisch eine Leerzeile kommt. 
Ist das so standardmässig vordefiniert?

Ja, das ist der Standard.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage sofort und kostenfrei

x
Made by a lovely community
...