엔터를 입력할떄까지 배열에 정수를 저장하는 c소스에대해 질문드립니다.
글쓴이: jh20s / 작성시간: 수, 2015/10/28 - 10:46오전
c언어 엔터가 입력할때까지 정수를 받는 코드를 작성중인데 문제가 생겨 질문해요
do {
scanf("%d", &arr[n]);
n++;
} while (getc(stdin) == ' ');
이 걸로 했을경우 1 2 3 4 이렇게 입력을 받으면 1 2 3 4가 arr배열에 저장이 되요
그런데 엔터만 입력시 종료를 할수가 없어요.
그걸 수정하려고
if (getc(stdin) != '\n')
{
do {
scanf("%d", &arr[n]);
n++;
} while (getc(stdin) == ' ');
}
이렇게 바꿔봤더니 맨처음에 getc에서 엔터를 입력시엔 종료가 되는데 1 2 3 4를 입력 하면 getc가 1을 받아버려서 사라지는 바람에 입력이 2 3 4 밖에 안되요.
질문을 다시 정리하자면
1.c언어 엔터 입력시까지 정수를 배열에 저장하는 코드를 만들어야합니다.
2.아무 것도 입력안하고 엔터입력시엔 그냥 종료가 됩니다.
3.입력받는 정수크기는 1~100,000정도로 할려고합니다.
답변부탁드립니다 ㅠㅠ...
Forums:
댓글 달기