소프트웨어/C

[2005년 기말 3번] 문자열 처리 - 문자열 배열

카켈 2007. 2. 19. 23:42




1. 목적
  - 문자열 배열을 글자 단위로 처리 한다.

2. 문제 (점수 : 15 점)
  - 키보드로 문자열을 입력 받되 strlen() 함수를 쓰지 않고 문자의 개수를 출력하며 반대로도 출력한다.
  - 출력 화면

문자열을 입력하세요 : C Programming Language
문자열의 길이 : 22
역순으로 출력 : egaugnaL gnimmargorP C
Press any key to continue

3. 이해
  - 문자열 배열을 정확히 이해하는가?
  - 문자가 저장되는 방식을 이해하는가?
  - 문자를 불러낼수 있는가?

4. 코드

#include <stdio.h>

int main()
{
 char in[255] = {0};
 int length = 0;
 printf("문자열을 입력하세요 : ");
 gets(in);

 while(in[length] != 0) length++;

 printf("문자열의 길이 : %d\n",length);
 printf("역순으로 출력 : ");

 while(length > 0)
 {
  putchar(in[length-1]);
  length--;
 }

 
 putchar('\n');

 return 0;
}

5. 해설
  - 문자열은 문자형 자료를 배열형으로 저장했기 때문에 자유롭게 불러 쓸수 있으며 저장할수 있습니다.
  - 0 값이 NULL 문자로써 문자의 끝을 의미하기 때문에 문자의 경계를 짓는데 중요한 계념을 가집니다.
  - 문자에 대해 잘 다룰수 있으면 string.h 에 있는 함수를 쓰지 않고도 기초적인 문자열을 다룰수 있습니다.

6. 참고
  - http://winapi.co.kr/clec/cpp1/3-5-3.htm : 문자열