Skip to main content

1.5.1 문자 입출력

실습 전 이론

프로그램하면 빠질 수 없는게 또 사용자의 입력 값을 받아서 처리하는 부분이다.

파이썬을 공부할때도 input()을 알게 되면서 부터 재미를 확 느꼈던 기억이 있다.

이번 실습에서는 입력 값을 받는 함수 getchar() 와

문자 하나를 출력하는 함수 putchar()를 사용한다.


이번 프로그램에선 EOF 라는 개념이 등장한다. End of File 의 줄임말이며, 파일의 끝을 나타낸다.


프로그램의 진행은 다음과 같다.

1. 문자를 읽어 들인다.

2. while

3. 문자를 출력한다.

4. 다음 문자를 읽어들인다.


실습

#include <stdio.h>


int main(){
  int c;

  c = getchar();
  while (c != EOF) {
    putchar(c);
    c = getchar();
    }
  return 0;
  }

c 를 선언, while문이 실행되기 전 getchar를 통해 입력 값을 받고

받은 입력 값이 EOF 가 아닌지 먼저 확인한다.

EOF 는 보통 -1 아니면 0 으로 되어있으며,

그렇다고 우리가 입력에 -1 을 넣는다고 실행되는 것이 아니다.

EOF 를 넣으려면 control + z 를 누른 상태로 enter 키를 눌러주면 된다.

image.png

c 가 EOF인지 확인하는 부분을 제거할 경우 control + z + Enter 키에도 아무 반응이 없는 것을 확인할 수 있다.


아무튼 프로그램 자체는 사용자의 입력 값을 그대로 출력하는 것을 확인 할 수 있다.

putchar() 는 기본적으로 개행이 들어간다는 것도 흥미로운듯

실습 후 이론

파이썬과 다른 부분인데 C 언어는 들여쓰기가 문법으로써 동작하지 않는다고 한다.

충격적이고 재밌네...