#include<stdio.h>
#include<string.h>
#include<stdlib.h>


int main(void)
{
 int maxlen, len, i;
 char* str;
 printf("문자열의 최대 길이 입력: ");
 scanf("%d", &maxlen);
 getchar(); // 여기가 잘 이해가 안갑니다.
 
 str=(char*)malloc(sizeof(char)*(maxlen+1));
 printf("문자열 입력: ");
 fgets(str,maxlen+1,stdin);
 str[strlen(str)-1]=0;
 len=strlen(str);

 for(i=len; i>0; i--)
 {
  if(str[i]==' ')
  {
   printf("%s ",&str[i+1]);
   str[i]=0;
  }
 }
 printf("%s ", &str[0]);
 free(str);
 return 0;
}

 

굵은 글자부분이 \n을 삭제하기 위해서 쓴거라고 했는데, 이해가 잘 가지 않습니다.

 

저것을 지우고 실행시키면 다다음줄의 "문자열 입력" 의 출력 없이 바로 프로그램이 종료됩니다.

 

도와주세요.