I have the following:
int findPar(char* str)
{
int counter=0;
while (*str)
{
if(str[0] == "(") <---- Warning
{
counter++;
}
else if (str[0]== ")") <---- Warning
{
counter--;
}
if (counter<0)
{
return 0;
}
str++;
}
if (counter!=0)
{
return 0;
}
return 1;
}
The warning i get is comparison between an int and a char.
I tried to do the comparison (first char in the string vs. given char) also with strcmp like this:
if (strcmp(str, ")")==0) { stuff }
but it never goes in to ‘stuff’ even when the comparison (should) be correct.
how should i do it?
If
stris a C string (null-terminated array of chars), thenstr[0]is a char.Note that the type of quotes matters!
')'is a char, while")"is a string (i.e. a')'char followed by a null terminator).So, you may compare two chars:
or you may compare two strings
naturally, (the second works if
strstring really only contains that parenthesis).