我需要一个函数,该函数将采用 char *s = "abc def gf ijklmn" 之类的 char 指针。如果它通过函数 int space_remove(char *) 它应该返回额外空格的数量并修改字符串并取出额外的空格。
int space_remove(char *s)
{
int i = 0, ic = 1, r = 0,space = 0;
//char *sp = (char *) malloc(strlen(s) * sizeof(char));
char sp[256];
while (*(s+i) != '\0'){
if (*(s+i) == ' ' && *(s+i+1) == ' '){
space = 1;
r++;
}
if (space){
sp[i] = *(s+i+r);
i++;
}
else if (!space){
sp[i] = *(s+i+r);
i++;
}
else {
sp[i] = *(s+i+r);
i++;
}
}
sp[i+1] = '\0';
printf("sp:%s \n",sp);
s = sp;
//free(sp);
return r;
}
这里有什么帮助吗?
如果字符串是“abc(10 个空格)def(20 个空格)hijk”它应该返回“abc(1 个空格)def(1 个空格)hijk”