I am trying to implement a string compare function where I want to return a bool value but I am getting several errors and I don't know why is that so.
The error that the compiler shows is
"error: unknown type name bool"
&
"error: false, true undeclared"
now as far as I know, bool has only two values i.e. true or false, then why am I still having problem?
bool string_cmp(char word1[],char word2[]){
bool isEqual = false;
int i,k=sizeof(word1);
for(i=0;i<=k;i++){
if(word1[i]!=word2[i]){
isEqual=false;
}
else
isEqual=true;
break;
}
return isEqual;
}
Edited code(why is my output wrong when I am adding more words in word1 array?):
bool string_cmp(char word1[],char word2[]){
bool isEqual = false;
int i,k=sizeof(word1);
for(i=0;i<=k;i++){
if(word1[i]!=word2[i]){
isEqual=false;
break;
}
else
isEqual=true;
}
return isEqual;
}
int main()
{
int count;
bool cmp;
char word1[40]={"Hi world world"},word2[20]={"Hi world"},result[60]; //the only case when I am getting wrong output; otherwise if both words are same or if I remove something from word2, I get the output as expected.
cmp=string_cmp(word1,word2);
printf("%d",cmp);
}