Ascii-Bilder in C ausgeben
-
Guten Tag,
uns wurde die Aufgabe gestellt ein mehrzeiliges Ascii-Bild auf der Konsole auszugeben.
Das Bild ist eine Hello World bestehend aus Raute Zeichen.
Wenn ich das nun über printf ausgeben möchte erhalte ich in jeder neuen Zeile den Fehler: "expected preprocessor directive, found '#'". Wie kann ich das verhindern ?
Das Bild soll sich direkt in der Source-Datei befinden und nicht aus einer externen Datei ausgelesen werden.
-
hmm, ich vermute mal du hast irgendwie einfach das bild in den source-code reinkopiert, ohne anführungszeichen drum zu machen...
dadurch, dass es # als zeichen ist, stolpert der compiler, da mit # präprozessor anweisungen beginnen, musst eigentlich auch bloß in n char-array packen, dann sollte das gehen
-
printf("# # # # ###/n # # ##### # # #### # # # #### ##### # ##### ###/n # # # # # # # # # # # # # # # # # ###/n ####### ##### # # # # # # # # # # # # # # # /n # # # # # # # # # # # # ##### # # # /n # # # # # # # # # # # # # # # # # ###/n # # ###### ###### ###### #### ## ## #### # # ###### ##### ###");
so sieht mein code aus... hier etwas verrückt ...
-
String-Literale dürfen nicht über das Ende einer Code-Zeile hinausgehen - also mußt du entweder ans Ende jeder Zeile ein \ setzen (das klebt aufeinanderfolgende Zeilen zu einer zusammen) oder jede Zeile einzeln in Anführungszeichen setzen:
printf("# # # # ###/n" "# # ##### # # #### # # # #### ##### # ##### ###/n" "# # # # # # # # # # # # # # # # # ###/n" "####### ##### # # # # # # # # # # # # # # # /n" "# # # # # # # # # # # # ##### # # # /n" "# # # # # # # # # # # # # # # # # ###/n" "# # ###### ###### ###### #### ## ## #### # # ###### ##### ###");
-
jepp, so müsste das gehen
-
Es ist \n und nicht /n