スペースを含む文字列を入力として取り、スペースを NULL 文字 '\0' に置き換えます。今文字列を印刷すると、以前は最初のスペースだった最初の NULL 文字までの部分しか期待できませんが、元の文字列を取得しています。
ここにコードがあります-
#include<stdio.h>
int main(){
char a[1000];
int length, i = 0;
length = 0;
scanf("%[^\n]s", a);
while(a[i]!='\0')
i++;
length = i;
printf("Length:%d\n", length);
printf("Before:%s\n", a);
for(i=0;i<length;i++){
if(a[i] == " ")
a[i] = '\0';
}
printf("After:%s\n", a);
return 0;
}
これの何が問題なのですか?