티스토리 뷰

Character string input을 역순으로 변환하는 함수.


기본 흐름은 아래와 같이 생각할 수 있다.

1. String input의 길이를 구한다.

2. 처음과 끝의 문자를 swap하고, 중간까지 반복.


배열 형태로 구현시

char* strrev_1(char* str)

{

int startIdx, endIdx;

if(!str || !*str)    return (char *)-1;

startIdx = 0;

endIdx = strlen(str)-1;

while(startIdx<endIdx) {

char tmp = str[startIdx];

str[startIdx] = str[endIdx];

str[endIdx] = tmp;

startIdx ++;

endIdx --;

}

return str;


포인터로 구현.

char* strrev_2(char *str)

{

char* endStr;

if(!str || !*str)    return (char *)-1;

endStr = str + strlen(str) - 1;

while(str<endStr) {

char tmp = *str;

*str = *endStr;

*endStr = tmp;

str ++;

endStr --;

}

return str;

}


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함