문제

100이하의 정수 N을 입력받은 후 공백이 포함된 N행의 문장을 입력받아서 역순으로 출력하는 프로그램을 작성하시오.

각 문장의 길이는 100이하이다.

 

* 표준입출력방식으로 작성하세요.

 


입력 예3 I love korea. My name is chulgi. I'm happy.출력 예I'm happy. My name is chulgi. I love korea.



#include <stdio.h>

#include <stdlib.h>

#include <string.h>


int main()

{

int len, n;

char* arrs[100];

char buf[100], x[5];

char* tmp;


fgets(x, 5, stdin);

n = atoi(x);


for (int i = 0; i < n; i++)

{

fgets(buf, 100, stdin);

len = strlen(buf);

tmp = (char*)malloc(sizeof(char) * (len + 1));

strcpy(tmp, buf);

arrs[i] = tmp;

}


for (int i = n - 1; i >= 0; i--)

{

fprintf(stdout, "%s", arrs[i]);

}

return 0;

}


형들 여기서 atoi를 굳이 쓴 이유가 뭐야? 그냥 x를 int형으로 받아도 될 거 ㅅ같은데 ㅠ

그리고  for문 tmp 값 초기화하는 부분부터 for문 끝까지 무슨 소린지  설명좀 해줘 ㅠㅜㅠ