好吧,我不确定这是我还是其他什么,但我真的很困惑.
我试图在另一个字符串中找到第一个字符串出现(就像C++中的InString()),但是从C开始,用strcmp()来做.
我有两个char数组,string []和toFind [],我在两个for()循环中通过它们比较每个char和strcmp().
这是代码:
int inString(char string[], char toFind[]){
int i_toFind, i_string, check = 0, start = -1;
for(i_toFind = 0; i_toFind < getLength(toFind)-1; i_toFind++){
for(i_string = 0; i_string < getLength(string)-1; i_string++){
if(strcmp(&string[i_string], &toFind[i_toFind])==0){
printf("%i & %i == %i\n", string[i_string], toFind[i_toFind], strcmp(&string[i_string], &toFind[i_toFind]));
if(start == -1){
start = i_string;
}
check++;
i_toFind++;
if(check == getLength(toFind)-1){
return start;
}
}
else{
printf("%i & %i == %i\n", string[i_string], toFind[i_toFind], strcmp(&string[i_string], &toFind[i_toFind]));
check = 0;
start = -1;
}
}
} …Run Code Online (Sandbox Code Playgroud)