C 언어 에서 봉 인 된 함 수 를 이용 하여 영문 자모의 대소 문자 변환 을 실현 한다

1971 단어 C 언어대소 문자
C 언어 에서 tolower 와 toupper 두 함 수 를 이용 하여 영문 자모의 대소 문자 간 의 전환 을 실현 한다
범례 1:s 문자열 의 소문 자 를 대문자 로 변환 합 니 다.

#include <ctype.h>
int main()
{
  char s[] = "aBcDeFgH";
  int i;
  printf("before toupper() : %s
", s); for(i = 0; i < sizeof(s); i++) s[i] = toupper(s[i]); printf("after toupper() : %s
", s); return 0; }
범례 2:s 문자열 의 대문자 를 소문 자로 변환 합 니 다.

#include <ctype.h>
int main()
{
  char s[] = "aBcDeFgH";
  int i;
  printf("before tolower() : %s
", s); for(i = 0; i < sizeof(s); i++) s[i] = tolower(s[i]); printf("after tolower() : %s
", s); return 0; }
c 언어 문자열 의 대소 문자 변환 함 수 를 계속 공유 하 겠 습 니 다.
질문 설명:
함수 my 작성strlwr 는 문자열 의 대문자 를 소문 자로 바 꾸 고 소문 자 는 바 뀌 지 않 으 며 출력 합 니 다.
프로그램 분석:
대문자 가 소문 자로 바 뀌 면 ASCII 코드 값 의 관계 에 따라 32 를 더 하면 얻 을 수 있다.함 수 를 작성 할 때 반환 값 을 이 문자열 공간의 첫 번 째 주소 로 설정 하면 함수 호출 을 통 해 첫 번 째 주 소 를 통 해 전체 문자열 을 출력 할 수 있 습 니 다.
코드 는 다음 과 같 습 니 다:

#include<stdio.h>
#include<assert.h>

char * my_strlwr(char * str)   //    my_strlwr  
{
	assert(str);         //str    
	char *ret = str;       //    ret     str
	while(*str != '\0')      //         
	{  
	    if((*str >= 'A')&&(*str <= 'Z'))//                                      
		{
			*str = *str +32;     //         
			str++;
		}
		else
			str++;
	}
	return ret;       //            
}
int main()
{
	char str1[] = {"ABCDCFbbbdgeJhssW"};

	printf("%s
",my_strlwr(str1)); // , return 0; }

좋은 웹페이지 즐겨찾기