21.07.01 19:21 작성
·
314
0
void display(char cr, int lines, int width);
int main()
{
char c;
int rows, cols;
printf("Input one character and two integers : \n");
while ((c = getchar()) != '\n')
{
scanf("%d %d",&rows, &cols);
display(c, rows, cols);
printf("Input another charcter and two integers:\n");
printf("Press Enter to quit.\n");
}
return 0;
}
저는 여기서 입력시키면 다시 입력 할 수 없습니다.
c=getchar() 에서 \n 가 마지막에 입력되서
프로그램이 종료되는 거라면
어째서 선생님 강의에서는 종료되지 않습니까 ?
답변 2
0
입력시키면 다시 인력할 수 없다고 말씀하신게 5:25 강의의 현상을 말씀하신건가요?
질문자님과 동일한 코드는 교수님의 강의에서도 다시 입력할 수 없는 그런 현상이 똑같이 발생합니다. 그래서 후반부에서 버퍼를 비워주는 코드를 넣어주신 것입니다!
혹시 질문 주신 코드 말고 버퍼 비우는 코드 추가하여 보완한 코드 말씀하시는건가요? 강의에서도 등장하는 코드가 여러개라 강의의 어떤 코드를 말씀하시는 것인지 잘 모르겠습니다 ㅠㅠ (질문자님과 동일한 코드는 강의에서도 다를 거 없이 똑같은 현상이 발생합니다.)
질문자님께서 어떤 부분에 대해 의문을 가지고 계신 것인지 파악이 잘 되지 않습니다. 죄송합니다.ㅠㅠ 구체적으로 강의의 어떤 시간대의 어떤 코드를 언급하시는 것인지와 의문을 가지시는 현상에 대한 자세한 설명을 함께 알려주시면 답변을 드리는데에 큰 도움이 됩니다.
2021. 07. 03. 22:42
저 코드 실행시키면, 강의내용에서는 다시 입력을 할 수 있는데
제가 실행시켰을 때는 버퍼에 \n 이 있어서 프로그램이 바로 꺼집니다.
2021. 07. 08. 22:59
미세한 차이긴 한데요! 강의에서는
* 3 5 공백
이렇게 입력하셨습니다.
강의와 똑같이 * 3 5 공백 을 입력하면 강의와 똑같이 입력 또 할 수 있네요!
반면에 * 3 5 까지만 입력하고 엔터치셨으면 질문자님처럼 종료가되네요!