Anfaengerfrage
-
nwp3 schrieb:
Wenn du schreibst const char bla[3] = "xyz";, dann ist bla vom Typ const char [3] mit dem Inhalt {'x', 'y', 'z'}.
Das sollte ill-formed sein. Ein Zeichenkettenliteral endet immer mit einem 0-Terminator, und damit liegen zuviele Initialisierer vor.
-
Boah...also der compiler macht alles richtig, indem er in bitch keine 3 buchstaben aufnehmen will??
-
vier
-
Er nimmt aber nicht mal drei, darum gehts doch.
-
Doch, da passen drei Zeichen rein. Wenn das letzte Zeichen kein '\0' ist, kannst du es aber nicht mit
coutüberprüfen, da das bei einem char* einen C-String erwartet.
-
Er nimmt noch nichtmal einen, er nimmt garkeinen, weil er die vier nicht nimmt, weil vier nicht in drei passen.
-
Ne guck doch mal auf die compilerwarnung in seite 1. Da steht doch dass 3 fuer ihn zu lang ist
-
Nee, steht da nicht!
-
Don't feed the troll.
-
Ok jetzt hab ichs..danke