C 언어 예제/문자열 뒤집기 프로그램
// string mirror
#include <stdio.h>
#include <stdlib.h>
int main()
{
int strlen = 1024;
char *string = (char *)calloc(strlen, sizeof(char));
gets(string);
char *str = string + strlen - 1;
while (str != (string - 1))
{
if (*str != 0)
printf("%c", *str);
str--;
}
free(string);
}
동적 메모리를 활용한 문자열 뒤집어 출력하는 프로그램이다. 문자열의 끝을 수동으로 지정하지 않게 calloc()으로 전부 NUL로 초기화하였고 while문을 돌면서 *str이 NUL, 0이면 출력하지 않는 간단한 예제이다. while문의 조건문이 str != (string - 1) 이렇게 되어있는데 이렇게 해둔 이유는 그냥 string이라고 해놓으면 string에 해당하는 위치의 문자열(*string)이 출력되지 않고 while문이 종료되기 때문에 그 위치의 문자열까지(*string) 출력하고 (*(string - 1))에서 while문을 종료하도록 보정해준 것이다.
input << 123456789
result! >> 987654321