Programming/C
[C언어] 포인터로 문자열 거꾸로 출력
고간디
2024. 3. 22. 13:57
[동아리] A반 5차 2일 과제 (2024.03.20)
#include <stdio.h>
#include <string.h>
void reverse1(char *a) {
for (int i=0;i<=strlen(a)/2;i++) {
char temp = *(a+i);
*(a+i) = *(a+strlen(a)-i-1);
*(a+strlen(a)-i-1) = temp;
}
}
void reverse2 (char *a) {
int len = 0;
int i = 0;
while (*(a+i) != '\0') {
i++;
len++;
}
for (int i=0;i<=len/2;i++) {
char temp = *(a+i);
*(a+i) = *(a+len-i-1);
*(a+len-i-1) = temp;
}
}
int main() {
char a[100] = "helloworld!";
reverse1(a);
printf("%s", a);
printf("\n");
char b[100] = "helloworld!";
reverse2(b);
printf("%s", b);
return 0;
}
포인터를 사용해 대괄호 사용하지 않고 문자열 거꾸로 출력하기
sting.h 헤더파일을 사용하여 문자열의 길이 확인 후 주소값 계산에 활용 - reverse1()
반복문을 통해서 문자열의 길이를 먼저 확인 후 주소값 계산에 활용 - reverse2()
728x90
반응형