文章スペースの先頭、末尾、中間をすべて削除するが、単語間にはスペースを1つだけ残すコードを作成しようとしています。例えば文字列内にある空白を削除する方法
入力は出力が
"This is my string"
これまでのところ、私はこれが出ているべきである
" This is my string "
の場合:誰もができれば、私は感謝
#include <stdio.h>
void cascade(char str[], int i);
main()
{
char str[100] = " This is my string ";
int i = 0;
while (str[i] != '\0') {
if (str[i] == ' ' && str[i + 1] == ' ')
cascade(str, i);
i++;
}
printf("%s\n", str);
}
void cascade(char str[], int i)
{
while(str[i] != '\0') {
str[i] = str[i + 1];
i++;
}
str[i + 1] = '\0';
}
いくつかのアイデアを思いついた、ありがとう。
あなたは文字列関数を使用することを許可していますか? –
はい、string.hライブラリを使用できます。 – scott
"単語"はどのように定義しますか?あなたの "言葉"にタブ、改行、またはその他の空白文字が含まれているとどうなりますか? –