C언어 문자열배열 포인터로 역순출력
2018. 10. 4. 21:08ㆍ개발노트
배열과 포인터 선언 및 연결
char s1[256];
char *p;
p = s1;
문자열 입력
gets(s1);
문자열 역순 출력
for (int i = strlen(p) - 1; i > -1; i--) {
printf("%c", p[i]);
}
위 코드에서 strlen(p)를 사용하여 문자열의 길이를 구한 후, i를 문자열의 마지막 인덱스에서 시작하여 i--를 통해 역순으로 출력합니다.
- for 루프에서 strlen(p) - 1을 사용하는 이유는 문자열의 마지막 인덱스가 문자열 길이보다 1 작기 때문입니다. 예를 들어, 길이가 5인 문자열의 마지막 인덱스는 4입니다.
- i > -1 조건은 인덱스가 0까지 포함되도록 하기 위함입니다.
- printf("%c", p[i])를 통해 인덱스 i에 해당하는 문자를 출력합니다.
전체 코드
#include <stdio.h>
#include <string.h>
int main() {
char s1[256];
char *p;
p = s1;
printf("문자열을 입력하세요: ");
gets(s1);
printf("역순 출력: ");
for (int i = strlen(p) - 1; i > -1; i--) {
printf("%c", p[i]);
}
return 0;
}