#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char* str;
int i;
printf("Enter the String:\n");
gets(str);
int len=strlen(str)-1;
while(len>0&& isspace(str[len]))
len--;
str[len+1]='\0';
printf("Output string:\n%s\n",str);
return 0;
}
このコードは、入力が「末尾のスペース」のように小さい場合は問題なく動作しますが、「末尾のスペースが削除されました」のような大きな入力ではクラッシュします。これがなぜ起こっているのかわかりませんので、助けてください。このプログラムは、文字列の末尾にある末尾のスペースを削除します。