나는 KR 's The C 프로그래밍 언어를 읽고있어 putchar와 getchar에 혼란스러워하고있다. 나는 10 개의 문자를 입력하는 프로그램을 만들었고 그 프로그램은 다시 화면에 출력했다.Putchar와 Getchar in C
#include <stdio.h>
int main()
{
int i;
int ch;
for(i = 0; i < 10; i++)
{
printf("Enter a single character >> ");
ch = getchar();
putchar(ch);
}
return 0;
}
나는이 같은 출력을 얻을 것으로 예상 :
Enter a single character >> a
a
Enter a single character >> b
b
을 ... 그래서 10 배에 그러나 이것은 내가 가진 출력 :
(I 2 개 문자를 입력 한 후 정지)Enter a single character >> a
aEnter a single character >>
Enter a single character >> b
bEnter a single character >>
Enter a single character >>
내 입력 문자가 고정 문자열과 결합되어 출력되는 이유를 확실하지 않습니다.
또한 int를 사용하여 문자를 저장하는 이유가 확실하지 않습니다.
답장을 보내 주셔서 감사합니다. 그러나 코드는 여전히 작동하지 않습니다. "한 문자 만 입력하십시오"는 두 번 인쇄하면 안됩니다. 내 메인 게시물과 마지막 코드 블록을 보면 두 번째 줄에 무슨 뜻인지 알 수 있습니다. char a는 "Enter single character >>"문자열에 이어 "Enter single character">> "문자열이 즉시 화면에 다시 인쇄됩니다. –
@CS 학생 : 알겠습니다. 내 대답을 지금 확인하십시오 :) – LihO