다루두루

블로그 이미지

차케요

공부하면서 정리하는 노트같은 블로그입니다.

c언어 프로그래밍 scanf 함수로 문자열 입력

C언어 알고리즘 2015. 8. 16. 10:52


c언어 프로그래밍 scanf 함수로 문자열 입력


■ c언어에서 데이터를 입력받는 함수 중 하나가 scanf()인데요. 이 녀석을 이용해서 정수를 입력받을 때는 다음 예제와 같이 저장할 변수 앞에 "&"를 붙여줘야 합니다. 


▲ 정수를 입력받아서 'x' 변수에 저장하고 있는 과정인데 이렇게 x에 정수를 저장하기 위해서 "&"연산자를 붙이고 있습니다. 하지만 문자열을 입력받을 때는 "&" 연산자를 붙이지 않습니다. 좀 더 자세한 내용은 포인터 정리할 때 다시 언급하기로 하고 일단 이렇게 암기하고 넘어갈게요. 

 

 

 c언어에서는 문자열을 출력할 때 서식 문자 "%s"를 이용하듯이 입력받을 때도 마찬가지 입니다. 예제를 만들어서 확인해보겠습니다.

▲ 길이가 50인 char 배열 str을 선언하고 있으며 문자열을 입력받기 위해서 서식 문자 "%s"을 사용하고 str 변수에 저장할 때 "&"연산자를 사용하지 않고 있습니다. 프로그램을 실행해서 입력해보고 제대로 저장되고 출력되는지 확인해보겠습니다.


▲ 이렇게 "&"가 없어도 제대로 저장되고 출력되는 걸 확인할 수 있습니다. 그리고 c언어는 이렇게 입력받아도 마지막에 "null"문자가 입력되는데요. 지난 글에서 c언어의 문자열의 끝에는 무조건 "NULL"문자가 입력된다고 정리했었습니다. 이 예제에서도 끝에 null 문자가 포함됐는지 확인해보겠습니다. 


 while 문을 이용해서 null 문자를 만날 때까지 str에 저장된 값들을 index 값을 이용해서 하나씩 출력해보겠습니다. 마지막에 null 문자가 포함되어 있다면 그 전에 입력된 단어까지만 출력될 것입니다.

▲ 입력받은 값에 str[index] 값으로 접근해서 해당 char를 "%c"로 출력하고 있는데요. while 문이 실행되는 조건은 null 문자를 만날 때까지 입니다. 프로그램을 실행해서 적당한 문자열을 입력해보겠습니다.


▲ hello를 입력해봤습니다. 분명히 "o"다음에 null 문자가 포함되어 있기 때문에 "o"까지만 출력되는 것입니다.


 이렇게 해서 c언어에서 scanf() 함수를 이용해서 문자열을 입력받고 저장하는 과정을 정리해봤는데요. 다른 데이터와 다르게 입력받아서 저장할 때는 "&"연산자를 사용하지 않으며 값을 입력받으면 무조건 마지막에 null 문자가 저장되는 것까지 확인해봤습니다. 수고하셨어요.

저작자표시 비영리 변경금지 (새창열림)
Posted by 차케요

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

카테고리

NEW (900)
아이폰 개발 기초 (7)
취미 (16)
아두이노 (16)
[안드로이드] 어플만들기 (77)
안드로이드 기초 다지기 (61)
슈팅게임 만들기 (4)
[JAVA]자바 공부하기 (48)
C언어 알고리즘 (61)
[Unity3D]유니티3D 강좌 (7)
컴퓨터 (325)
포토샵CS2 강좌 (6)
유용한 프로그램 (244)
리눅스 노트정리 (22)
임베디드 리눅스 (11)
New블로그 (9)
음식의 효능 (4)
일반상식 (56)
HTML 공부 (40)
포토샵 공부 (36)
엑셀 (6)
파워포인트 공부 (19)
노트정리 (38)
일상 (33)
TV영화 (85)
방명록 : 관리자 : 글쓰기
차케요's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

다루두루

공부하면서 정리하는 노트같은 블로그입니다.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • NEW (900)
    • 아이폰 개발 기초 (7)
    • 취미 (16)
      • 아두이노 (16)
    • [안드로이드] 어플만들기 (77)
      • 안드로이드 기초 다지기 (61)
      • 슈팅게임 만들기 (4)
    • [JAVA]자바 공부하기 (48)
    • C언어 알고리즘 (61)
    • [Unity3D]유니티3D 강좌 (7)
    • 컴퓨터 (325)
      • 포토샵CS2 강좌 (6)
      • 유용한 프로그램 (244)
    • 리눅스 노트정리 (22)
      • 임베디드 리눅스 (11)
    • New블로그 (9)
    • 음식의 효능 (4)
    • 일반상식 (56)
    • HTML 공부 (40)
    • 포토샵 공부 (36)
    • 엑셀 (6)
    • 파워포인트 공부 (19)
    • 노트정리 (38)
    • 일상 (33)
    • TV영화 (85)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바