포인터 함수 10개 만들기(한성태) - aksrud/3kingOfGod GitHub Wiki

#include <stdio.h> //1

void swap(int* a, int* b); int strlen(const char* str); void toUpper(const char* str); //대문자로 출력 void toLower(const char* str); //소문자로 출력 void reverseStr(const char* str); //문자열 거꾸로 출력 void strCopy(char* dest, const char* src);//문자열 복사 void strCat(char* dest, const char* src); //문자열 이어 붙이기 int strComp(const char* a, const char* b); //문자열 비교 void removeSpaces(const char* str); //스페이스 제거

int main() { //두 변수 값 바꾸기 //int a = 5; //int b = 10;

//swap(&a, &b);

//printf("a = %d, b = %d\n", a, b);

//문자열 길이
//const char* str = "HanSungTae";
//printf("%d\n", strlen(str));

//대문자 출력
//toUpper("applE");

// 소문자 출력
//toLower("bANANA");

//문자열 거꾸로 출력
//reverseStr("apple");

//문자열 복사
//char a[10];
//strCopy(a, "apple");
//printf("%s", a);

//문자열 이어 붙이기
//char a[100];
//strCopy(a, "apple");
//printf("%s\n", a);

//strCat(a, " is Very Good");
//printf("%s\n", a);

//문자열 비교
//if (strComp("apple", "applE")) {
//	printf("두 문자열은 같다.");
//}
//else {
//	printf("두 문자열은 같지 않다.");
//}

//스페이스 제거
//removeSpaces("aa bb cc dd ee");

//버블 정렬

// int arr[10] = { 2, 3, 6, 7, 1, 4, 9, 8, 5, 0}; // void bubblesort(int* arr, int length);//버블 정렬 // for (int i = 0; i < 10; i++) { // printf("%d ", arr[i]); // } // printf("\n"); // bubblesort(arr, 10); // for (int i = 0; i < 10; i++) { // printf("%d ", arr[i]); // } // printf("\n"); //}

void bubblesort(int* arr, int length) { for (int i = 0; i < length - 1; i++) { for (int j = 0; j < length - i - 1; j++) { if (arr[j] > arr[j+1]) { swap(arr+j, arr+j+1); } } } }

void removeSpaces(const char* str) { int len = strlen(str); for (int i = 0; i < len; i++) { char ch = str[i]; if (ch != ' '){ printf("%c", ch); }

}
printf("\n");

}

int strComp(const char* a, const char* b) { int len1 = strlen(a); int len2 = strlen(b);

if (len1 == len2) {
	for (int i = 0; i < len1; i++) {
		char ch1 = a[i];
		char ch2 = b[i];
		if(ch1 != ch2) {
			return 0;
		}
		
	}
}
else {
	return 0;
}
return 1;

}

void strCat(char* dest, const char* src) { int start = strlen(dest); int len = strlen(src);

for (int i = start; i < start + len; i++) {
	dest[i] = src[i - start];
}
dest[start + len] = '\0';

}

void strCopy(char* dest, const char* src) { int len = strlen(src); for (int i = 0; i < len; i++) { dest[i] = src[i]; } dest[len] = '\0'; }

void reverseStr(const char* str) { int len = strlen(str); for (int i = len - 1; i >= 0; i--) { printf("%c", str[i]); } printf("\n"); }

//-32 void toUpper(const char* str) { int len = strlen(str); int ch; for (int i = 0; i < len; i++) { ch = str[i]; if (ch >= 'a' && ch <= 'z') { printf("%c", ch -32); } else { printf("%c", ch); }

}
printf("\n");

} //+32 void toLower(const char* str) { int len = strlen(str); int ch; for (int i = 0; i < len; i++) { ch = str[i]; if (ch >= 'A' && ch <= 'Z') { printf("%c", ch + 32); } else { printf("%c", ch); } } printf("\n"); }

int strlen(const char* str) { int len = 0; int i = 0; while (1) { char ch = *(str + i); if (ch == '\0') { break; } len++; i++; } return len; }

void swap(int* a, int* b) { int temp; temp = *a; *a = *b; *b = temp;

⚠️ **GitHub.com Fallback** ⚠️