Moin!
Ich kann dir leider nicht sagen, warum dieses Zeichen da eingefügt wird. Wie kopierst du denn, und nutzt du den grafischen vi?
Was auf jedenfall funktionieren sollte: Text in Kedit markieren, im vi die Stelle gehen, wo der Text eingefügt werden soll und i drücken. Dann mit der mittleren Maustaste (oder Mausrad) an die selbe Stelle klicken. Fertig.
Übrigens sollte main vom Typ int sein, nicht void. In der letzten Zeile musst du dann noch return 0; schreiben, also so:
Code:
int main()
{
/* Programm */
return 0;
}
Und als letztes würde ich dir raten, dir anzugewöhnen, das \n am Ende der Zeile zu setzen, nicht am Anfang. Das Problem ist nämlich, dass die Ausgabe gebuffert wird, und dieser Buffer wird nur bei einem \n oder dem Aufruf von flush() geleert und wirklich auf dem Bildschirm ausgegeben. Normalerweise dürfte das nicht das Problem sein, aber wenn du zum Beispiel mit Meldungen dein Programm debuggen möchtest, kannst du auf ärgerliche Probleme stossen. Beispiel:
Code:
#include <stdio.h>
int main()
{
int *zeiger;
printf("Jetzt lassen wir den Zeiger auf NULL zeigen.");
zeiger = NULL;
printf("\nJetzt erzeugen wir den Fehler.");
*zeiger = 3;
return 0;
}
Der Fehler ist in der Zeile *zeiger = 3; (wir versuchen, an eine ungültige Stelle zu schreiben), aber obwohl die Zeile mit printf("\nJetzt erzeugen wir den Fehler."); korrekt ausgeführt wurde, wird sie nicht auf dem Bildschirm angezeigt:
Code:
igel@coruscant:~$ ./fehler
Jetzt lassen wir den Zeiger auf NULL zeigen.
Speicherzugriffsfehler
igel@coruscant:~$
Man hätte also an der falschen Stelle nach dem Fehler gesucht, was bei komplexeren Anweisungen sehr ärgerlich sein kann. Hätte ich printf("Jetzt erzeugen wir den Fehler.\n"); geschrieben, wäre das Problem nicht aufgetreten.
iGEL
Lesezeichen