Good Day,strstr trouver un mot dans une chaîne en utilisant c retourner vrai tout le temps
Je décide donc de faire une dépression à nouveau mon C et commencé à faire une simple recherche le mot dans une chaîne.
Voici mon code:
#include<stdio.h>
#include<conio.h>
#include<string.h>
main(){
char word[100];
char sentence[100];
clrscr();
printf("Enter a word: ");
fgets(word, 100, stdin);
getch();
printf("The word is : %s", &word);
getch();
printf("\nEnter a sentence: ");
fgets(sentence, 100, stdin);
getch();
printf("The sentence is: %s",&sentence);
getch();
if(strstr(sentence,word) == 0){
printf("word found!");
}
getch();
return 0;
}
Le problème est maintenant que chaque fois que je tente de rechercher le mot dans une chaîne à l'aide strstr
, il retourne toujours mot trouvé. J'ai également essayé d'utiliser strcmp
mais cela ne fera que comparer la première instance de la chaîne et s'arrêtera lorsqu'une correspondance n'est pas trouvée donc ce n'est pas vraiment conseillé si vous voulez faire un mot de recherche dans un problème de chaîne.
Je n'ai pas vraiment fait un programme comme ça avant, jamais eu besoin d'une réalité. Donc, puis-je demander pourquoi ne fonctionne pas correctement puisque selon sa description strstr
devrait être de chercher un mot dans une phrase ou l'ai-je mal compris.
Aussi, si vous avez des commentaires sur mon programme, n'hésitez pas à le dire, afin que je puisse prendre conscience de mon erreur.
Merci
Exemple: mot: chien
phrase: le chien est ici
doit renvoyer true
Vous imprimez mal 'printf ("La phrase est la suivante:% s", et la peine);' –
@Armin I Je suis désolé mais ce n'est pas ce que j'ai écrit? – magicianiam
Oui c'est. Je le signale. –