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;
}