私は問題がある、ポインタを使用してCの他の配列に文字列が存在するかどうかをテストする必要があります。 2つの文字列が完全にされている場合にのみ、テストしているポインタで配列内の文字列を見つける
/* Like the strstr() function. It returns a pointer to the first occurrence of the string aiguille in the string meule_de_foin.
* @param meule_de_foin the string to search in
* @param aiguille the string to find
* @return a pointer to the first occurrence of the string aiguille in the string meule_de_foin if aiguille is in meule_de_foin, NULL otherwise
*/
const char * IMPLEMENT(indexOfString)(const char *meule_de_foin, const char *aiguille) {
int isFound; isFound=0;
int first; first=meule_de_foin;
while(isFound==0){
if(*aiguille=='\0' && *meule_de_foin=='\0'){
isFound=1;
} else if (*aiguille == *meule_de_foin){
aiguille=aiguille+1;
meule_de_foin=meule_de_foin+1;
}else{
isFound=2;
}
}
if(isFound==1){
return (first);
}else{
return(NULL);
}
}
if(isFound==1){
return (first);
}else{
return(NULL);
}
実際にコードが英語の場合はずっと簡単です。 –
あなたの関数は 'meule_de_foin'の先頭に' aiguille'があるかどうかだけをチェックします。 – Barmar
'first'は' int'ではなく 'const char *'でなければなりません。 – Barmar