C_C++

(C언어) 대문자를 소문자로, 소문자는 대문자로 변환하기

고니자니 2023. 5. 30. 20:12
반응형

문자열에서 대문자는 소문자로, 소문자는 대문자로 변환하는 C언어 프로그램입니다.

소문자로 변환하는 tolower, 대문자로 변환하는 toupper 함수를 사용하지 않았습니다.

 

대문자인지 판단하기

if(c >= 'A' && c <= 'Z')

 

소문자인지 판단하기

if(c >= 'a' && c <= 'z')

 

참고로, 대문자 'A'의 ASCII 코드값은 65, 소문자 'a'의 ASCII 코드값은 97입니다.

대문자 'A'를 소문자 'a'로 변환하는 방법은

'A' + 32    ----- 32는 소문자돠 대문자의 차이이며

 

이렇게 표현할 수 있습니다.

'A' + ('a' - 'A')                 'a' - 'A' 값은 (97 - 65),  32입니다.
#include <stdio.h>
int main()
{
	char s[] = "aBcDeFgH!@#";
	int i;
	
	printf("%s\n", s);

	for (i = 0; s[i] != '\0'; i++)
	{
		if (s[i] >= 'A' && s[i] <= 'Z')
			s[i] = s[i] + ('a' - 'A');
		else if (s[i] >= 'a' && s[i] <= 'z')
			s[i] = s[i] - ('a' - 'A');
	}
	printf("%s\n", s);
	return 0;
}

대문자 소문자 변환

반응형