#include <stdio.h>
int main()
{
char ch=0;
while(ch!=EOF)
{
ch=getchar();
putchar(ch);
}
}
이거 너무 이상하네요
책에 나오는 예제인데
저기에 너무 당연하다는 듯이 안녕하세요 같은걸 입력한 예제가 있더라구요
그래서 저도 해봤는데 실행이 잘 되서 더 이상합니다.
getchar나 putchar은 문자 하나만 입력하고 출력할때 쓰는거 아닌가요?
더 이상한건 저기에 scanf("%c",&ch), printf("%c", ch) 이렇게 해줘도 된다는겁니다
더 이상한건 저기에서 while(ch!=EOF) 부분을 지워버리고 실행시키면
제가 아는대로 실행이 되요
fda 이렇게 입력하면 f만 출력되는 정상적인 기능을 하게됩니다
이거 왜이런거에요?
책에서도 안녕하세요 같은걸 입력하면 안되는거 아닌가요? 원래는 안되는거니까
while문으로 감싸줬자너.. getchar() 로 버퍼에 문자열을 담아 놓은 다음 putchar(ch)로 while문을 통해 하나씩 여러번 출력하게 되는거야 디버깅해바라
버퍼에들어간걸한글자씩가져온다고생각해
생초보라 버퍼가 뭔지 모르겟네요.. 아무튼 감사합니다 나중에 다시봐야겟네요
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=138506112&qb=Z2V0Y2hhcg==&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0&pid=gz05i35Y7vsssb8%2BPUGssc--285295&sid=Tz0IulrGPE8AAAr4XBs
여기가서 읽어봐