String ausgeben in c, wie?
-
int main () { int x=5; char xausgabe="FUNF"; if (x=5){ printf("%s",xausgabe); } }
Er soll FUNF ausgeben, macht er nicht^^?
-
char ist ein einzelnes Zeichen, dein Compiler sollte rauchen vor Warnhinweisen. Ebenfalls ist x=5 eine Zuweisung, kein Vergleich.
-
hm ja das mit == hab ich gerade entdeckt. Wie könnte ich das dann machen, oder was müsste ich ändern, damit er das Wort ausgibt.
-
Du brauchst zwei Dinge:
1. fürs Programm ein char Array
2. für den Progger ein Buch über C
da kann man dann alles über Datentypen lernen und muss sich nicht von
einfachen datentyp zu einfachen datentyp durchfragen.
Alternativ einfach auf die Linkseite dieses Forum sörfen und dann links
gucken nach dem Wort Tutorial.
-
So sollte der Code aussehen:
int main() { int x = 5; char *xausgabe = "FUNF"; // Alternativ: char xausgabe[] = "FUNF"; if ( x == 5 ) { printf("%s\n", xausgabe); } }
-
int main (){ char s[] = "FUNF"; int x; for(x = 0; x < sizeof(s);x++) { printf("%c",s[x]); } }
So hab ich das jetzt gemacht, aber deine Variante gefällt mir besser.
Vielen Dank an euch
-
icarus2 schrieb:
So sollte der Code aussehen
Lieber gleich richtig const benutzen!
int main() { int x = 5; char const *xausgabe = "FUNF"; // Alternativ: char xausgabe[] = "FUNF"; if ( x == 5 ) { printf("%s\n", xausgabe); } }
@BunterVogel
Du solltest darauf achten, dass du deinen Code konsistent und leserlich einrückst. Ansonsten wird das ganze schnell unübersichtlich und unleserlich.
-
@rüdiger
Danke fuer den Hinweis. Das const vergesse ich irgendwie immer
-
BunterVogel schrieb:
So hab ich das jetzt gemacht, aber deine Variante gefällt mir besser.
Das ist ja auch die richtige Methode um Strings mit
printf()
auszugeben.
Wenn man das zeichenweise machen will, nimmt man putchar()
-
DirkB schrieb:
Das ist ja auch die richtige Methode um Strings mit
printf()
auszugeben.Richtiger wäre allerdings, strings mit man: puts auszugeben.
-
Aber nur, wenn du danach auch ein '\n' haben möchtest.
-
Dann ein
fputs(stdout, ...)
. Ein printf für reine Zeichenketten kommt mir komisch vor. Wir wollen doch gar nichts formatiert (printf = print formatted) ausgeben.