C언어의 기초 문법

gets, puts

문자열 배열의 입출력

 배열의 값을 입력하거나 출력하려면 반복문을 돌려야 했죠? 정수형이나 실수형 배열들은 그렇게 해야 합니다. 솔직히 변수 낭비 시간 낭비죠. 그런데 문자열 배열은 gets와 puts가 있습니다.

gets는 scanf와 같은 함수인데, 이 둘은 차이가 있습니다.

char c[10];
char s[10];
scanf("%s", c);
gets(s);

여기에서 scanf는 한 줄에 다 입력을 해야지 받아들이는데, gets는 여러 번 줄바꿈을 하더라도 입력을 다 받을 때까지 멈추지 않습니다.


puts도 비슷하게 반복문 for을 선언하지 않고 그냥 puts(s); 를 쓰면 그냥 s라는 문자열 배열이 바로 출력됩니다. 알아두면 아주 편리하겠죠?

댓글

댓글 본문
  1. Joel
    여기에서 한 가지! scanf에서 문자열 배열은 굳이 &을 쓰지 않습니다. 그냥 그 배열 혼자 주소값을 가지고 있거든요. 자세한 내용은 포인터와 구조체에서 확인해주세요^^;
버전 관리
Joel
현재 버전
선택 버전
graphittie 자세히 보기