我正在尝试使此代码递归,但由于某种原因它不起作用。
void compress_spaces(char *str)
{
char *dst = str;
for (; *str; ++str) {
*dst++ = *str;
if (isspace(*str)) {
do ++str; while (isspace(*str));
--str;
}
}
*dst = 0;
}
编辑: 我试过这个:
void text_r(char *str)
{
char *dst = str;
if(*str=='\0')return ;
*dst++ = *str;
if (isspace(*str)) {
do ++str; while (isspace(*str));
--str;
}//Missing brace from orig is this ok?
return text_r(str++);
}
没用。有任何想法吗?