ユーザーに名前と姓を入力させた後、名前を逆の順序で印刷するようにプログラムする必要があることを除いて、すべて正常に機能する複数のことを実行するプログラムが必要です(John Doe = Doe John)。皆さんからの支援のおかげで、私は適切な機能を持っていると思いますが、まだセグメンテーション違反が発生しています。ここで何が問題なのですか。
プログラムの最後の関数です
#include <stdio.h>
#include <string.h>
int main ()
{
printf("Enter your first and last name\n");
char name [25]={'\0'};
char * space;
fgets(name,sizeof(name),stdin);
printf("You Entered: %s \n", name);
printf("There are %u characters in your name including the space. \n", strlen(name));
char end;
int i;
end = strlen(name) -1;
printf("Your name backwards is");
for (i = end; i >= 0; --i)
{
printf("%c", name [i]);
}
printf("\nLooking for the space in your name \n", name);
space=strchr(name, ' ');
while (space!=NULL)
{
printf("The space was found at character %d\n", space-name+1);
space=strchr(space+1, ' ');
}
//Why am I getting a segmentation fault (cord dumped) error here?
*space = '\0';
printf(" %s %s ", space+1, name);
}