반응형
입력받은 문자열 역순으로 출력하기(포인터 변수)
입력형식 | 출력형식 |
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() 함수를 이용하여 버려지는 저장 공간을 없애줄 수 있다.
반응형
'C' 카테고리의 다른 글
[C언어] 실습: 두 개의 문자열을 입력받은 후, 값을 바꾸어 출력하기 (오류) (0) | 2021.05.10 |
---|---|
[C언어] 실습: 두 개의 문자열을 입력받은 후, 값을 바꾸어 출력하기 (0) | 2021.05.06 |
[C언어] 실습: 입력받은 문자열 역순으로 출력하기 (1) | 2021.05.04 |
[C언어] 문자열: strlen() (0) | 2021.05.03 |
[C언어] 문자열과 배열 (0) | 2021.05.02 |