# 1.5.5 실습 문제 2가지

<p class="callout info">**실습 전 이론**</p>

**책을 보다보니 이론보다 이거 예제 문제가 본체인것 같다.**

**뭔가 프로그램의 원리 혹은 흐름을 이해하지 못하면 턱 하고 막혀버리는 부분들이 존재한다.**

**재밌당.**

<p class="callout info">**실습 예제**</p>

#### **1. 위의 프로그램이 오동작을 하도록 하는 입력파일을 만들어 보라.**

**\*이 문제는 일단 포기.. 프로그램 자체가 뻑이 나야하는건지.. 내가 넣은 값이랑 틀린것이 나와야하는건지.. 추후에 도전 해보기로**

#### **2. 파일을 읽어 한 행에 한 단어씩 출력하는 프로그램을 작성해 보라.**

```c
#include <stdio.h>

#define IN 1
#define OUT 0

int main(){
    int c, state;

    state = OUT;
    while((c = getchar()) != EOF){
        if (c ==' ' || c =='\t'){
            state = OUT;
            c = '\n';
            putchar(c);
        }
        else{
        putchar(c);
        }
    }
}
```

[![image.png](https://www.ochidstudy.com/uploads/images/gallery/2025-11/scaled-1680-/dtVKjBrHNRaFDz1M-image.png)](https://www.ochidstudy.com/uploads/images/gallery/2025-11/dtVKjBrHNRaFDz1M-image.png)

**이 문제는 비교적 좀 쉬웠던것 같다.**

**공백 혹은 \\t 를 인식하면 해당 문자를 개행문자로 치환해줬다.**

<p class="callout info">**실습 후 이론**</p>