본문 바로가기

C

[C언어] 실습: 입력받은 문자열 역순으로 출력하기(포인터 변수)

반응형

입력받은 문자열 역순으로 출력하기(포인터 변수)


입력형식 출력형식
SWEETNEW WENTEEWS

 

#include<stdio.h>
#include<string.h>   // strlen()

int main(){

   char str[100];
   char *pstr;

   printf("입력 : ");
   scanf("%s", str);

   pstr = (char*)malloc(strlen(str) + 1);   // NULL을 포함한 크기(size)를 입력한다.
   strcpy(pstr, str);                       // pstr에 str을 복사한다.

   printf("출력 : ");
   for(int i = strlen(pstr) - 1; i >= 0; --i){   // NULL을 제외한 문자열 길이를 초기값으로 준다.
      printf("%c", pstr[i]);
   }
   printf("\n");

   return 0;
}

 


임의의 데이터를 입력받을 때, 저장 공간을 알 수 없어 임의의 크기를 지정해 주게 되면 입력받은 데이터에 따라 저장 공간이 남는 경우가 생긴다. 이때 malloc() 함수를 이용하여 버려지는 저장 공간을 없애줄 수 있다.

반응형