본문 바로가기
프로그래밍/C programming

C언어 문장을 입력 받아 공백문자 개수 세고, 밑줄로 변환하는 프로그램 getchar(), putchar()

by 졸린이 2020. 6. 5.
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#define SPACE ' '
#define UNDERBAR '_'
 
main() {
    int ch;
    int count = 0;
 
    while ((ch = getchar()) != EOF) {
        if (ch == SPACE)
        {
            count++;
            putchar(UNDERBAR);
        }
        else
            putchar(ch);
    }
    printf("공백 문자 개수 : %d\n", count);
}
cs

9행 int형 ch변수에 getchar()함수로 문자를 입력받고 EOF(ctrl+z)가 아니면 계속 반복

10~13행 입력받은 문자가 define으로 정의된 SPACE(' ')즉 공백문자면 count 값을 올려 세고

 putchar()함수로 UNDERBAR('_')를 공백문자 대신 출력한다.

16행 나머지는 그냥 출력

18행 EOF를 입력받아 while()문을 빠져나가면 총 공백문자 개수를 출력해준다.

반응형

댓글