RECURSIONを使用して複数のスペースを1つのスペースに変更するプログラムを作成しようとしていますが、誰か助けてもらえますか?例「a_______b」が「a_b」に変わるのは、私が長い間やろうとしているタスクです!誰か助けてもらえますか?
ここで私はこれを試しましたが、デザインは再帰に対して機能しないと思います
void text_r(char *str)
{
char *dst = str;
if(*str=='\0')return ;
*dst++ = *str;
if (isspace(*str)) {
do ++str; while (isspace(*str));
--str;
}
return text_r(str++);
}
再帰せずにコードを記述しましたが、変換に問題があります
void compress_spaces(char * str){char * dst = str;
for (; *str; ++str) {
*dst++ = *str;
if (isspace(*str)) {
do ++str; while (isspace(*str));
--str;
}
}
*dst = 0;
}