Stringübergabe geht schief
-
Hallo, ich teste gerade ein kleines Programm und die Stringrückgabe will einfach nicht funktionieren. Anstatt von "drei" bekomme ich NULL zurück.
Ich würde mich sehr über Hilfe freuen.Viele Grüße
#include <stdio.h> #include <stdlib.h> #include <string.h> const char *test(int p); int main() { int ran; ran=2; const char *wort=test(ran); puts(wort); } const char *test(int p) { const char *wort2[10][10]= { "eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht", "neun", "zehn" }; return *wort2[p]; }
-
const char *wort2[10][10]
Das ist irgendwie ein bisschen viel Array, für ein Array von Zeigern, oder? Mach Compilerwarnungen an, behandle Warnungen wie Fehler.
Dies ist wohl die beste Lösung:
const char *wort2[]