본문 바로가기
코딩/CodeUp

코드업 1024 : [기초-입출력] 단어 1개 입력받아 나누어 출력하기

by jsjin 2023. 6. 2.
728x90

영단어를 1개 입력받는다.
입력받은 단어의 각 문자를 한줄에 한 문자씩 분리해 출력해보자.

#include <stdio.h>

int main(){
    char d[30];
    scanf("%s", d);
    
    for(int i=0; d[i]!='\0'; i++){
        printf("\'%c\'\n",d[i]);
    }
}

처음 보는 문법이 많지만 천천히 해석해보자.

 

C언어에서 문자열을 저장할때 문자열의 끝을 알기 위해 \0 이라는 값을 문자열 끝에 추가한다.

 

d라는 배열에는 30개의 char형의 값이 들어갈 수 있다. 방이 30개가 있다고 생각하자.

30개가 되는 방안에 문자를 넣을 것이고 이 방안에 있는 값을 참조할 수 있어야한다.

d[방 번호] 와 같이 사용해 방 안에 있는 문자를 확인할 수 있다.

참고로 C언어에서는 방 번호는 0번 부터 시작한다.

 

따라서 영단어 BOY의 경우

d[0] 에는 B

d[1] 에는 O

d[2] 에는 Y

그리고 d[3] 에는 \0 이 들어간다.

 

for문에 대해 설명하면

int i=0  ->  i 가 0에서 부터 시작해서

d[i]!=\0 ->  d[i] 가 \0 이 아닐때 까지 { } 안의 코드를 실행하며

i++       ->  i값을 1씩 증가시킨다.

는 의미를 가진다.

 

작은 따음표를 출력할때 \를 사용하는 것도 기억하자.

728x90