Doesn't const char *s means that "s is a pointer which is pointing towards a constant char " then why it is giving me this warning? I am not trying to change values.
In first function warning is return discards 'const' qualifiers from pointer target type.
and in second warning is assignment discards 'const' qualifiers from pointer target type.
I was trying to make library functions which are defined in string.h, and also tell me how to correct it.
char *my_strchr( const char *s, int c )
{
for(;*s!='\0';s++)
if(*s==c)
return s; // warning
return 0;
}
char *my_strpbrk( const char *s1, const char *s2 )
{
char *s2ptr;
for(;*s1!='\0';s1++)
for(s2ptr=s2;*s2ptr!='\0';s2ptr++) //warning
if(*s1==*s2ptr)
return s2ptr;
return 0;
}