Strstr()

Hallo,
Irgendwie glaube ich dass ich dass ich die Funktion strstr() noch nciht ganz verstanden habe. Habe zwar shcon in Büchern was gelesen und mich auch schon im Internet schlau gemacht, aber mein Fehler ist mir bis jetzt noch nicht bewusst. Ich versuche ein kleines Programm zu schreiben welches gewisse Strings in einem andern String durchsuchen soll und wenn es diesen gefunden hat ihn auch ausgeben. doch leider gibt er mir dazu noch den String aus in dem Gesucht werden soll :frowning:

include 
#include 
#include 


 char \*zahlen[] = {"eins","zwei","drei","vier","fünf", "sechs", "sieben", "acht", "neun", "zehn", "elf"};

 char \*woerter[] = {"Endreim","Kurzweil", "Nachtfalter", "Wohnviertel", "Neunauge", "Weinstein",
 "Erdreich", "Achtung", "Segelflieger", "Pfalzwein", "Radreifen", "Gehhelfer",
 "Leinsamen"};


int main(void)
{
 int i, j, wo;

 for (i = 0; woerter[i] != '\0'; i++){
 for(j = 0; zahlen[j] != '\0'; j++){
 if(strstr(woerter[i], zahlen[j]))
 printf("%s\n", zahlen[j]);
 }
 }

 return 0;
}

Kann mich vielleicht mal jemand über meinen Fehler aufkläre?? :wink:
Schon mal Danke im voraus

Gruß Benny

Hallo,

doch leider gibt er mir
dazu noch den String aus in dem Gesucht werden soll :frowning:

Wenn ich dein Programm ausführe (mit gcc 4.3.2), bekomme ich nur den gefundenen String.

Da du ‚printf("%s\n", zahlen[j])‘ benutzt, erstaunt mich das auch nicht.

Grüße,
Moritz