正在努力重写string.h中定义的strchr方法。 而且我得到“从指针目标类型中返回丢弃'const'限定词”
char* strchr(const char* str, int character){
int idx = 0;
do{
if (str[idx] == character){
return &str[idx]; // This line has the error
}
idx++;
} while (str[idx] != '\0');
return NULL;
} // any help would be great, thanks.
答案 0 :(得分:0)
一些注意事项:
return
:return (char *) &str[idx];
中的const。strchr("", 'a')
会发生。在进行NUL检查之前,您可以在循环体内增加idx
,这样它将逐步超出字符串的末尾。