strrev()
인자로 전달받은 str 문자열의 순서를 뒤집어서 반환하는 함수이다
strrev() 구현
#include <stdio.h>
enum { LENGTH = 16 };
size_t my_strlen(const char* str);
char* my_strrev(char* str);
int main(void)
{
char string[LENGTH] = "11-40-2202";
printf("%s\n", string);
my_strrev(string);
printf("%s\n", string);
return 0;
}
size_t my_strlen(const char* str)
{
size_t i;
for (i = 0; *str++ != '\0'; ++i) {}
return i;
}
char* my_strrev(char* str)
{
size_t len = my_strlen(str);
char* p = str;
char* q = str + (len - 1);
char temp;
if ('\0' == *str) { return str; }
while (p <= q)
{
temp = *p;
*p = *q;
*q = temp;
++p;
--q;
}
return str;
}
'C > [코드조선] C 핵심' 카테고리의 다른 글
[C] 메모리 구조 (0) | 2024.02.11 |
---|---|
[C] 문자열 정렬 (0) | 2024.02.10 |
[C] strtolower(), strtoupper() (0) | 2024.02.10 |
[C] strcat(), strstr(), strtok() (0) | 2024.02.10 |
[C] strcpy() (0) | 2024.02.09 |