저는 Kernighan과 Ritchie가 The C Programming Language를 읽었으며 아주 초기에 책에서 직접 복사 했더라도 작동하지 않는 프로그램을 발견했습니다. 여기에 설명의 화면 캡이 있습니다 - http://i.imgur.com/SBQSE.png이 프로그램은 어떻게 작동합니까?
내가 입력 한 내용은 분명 키보드 입력이며 키보드 입력이 아닌 EOF를 체크하고 있기 때문에 무한 루프에 빠지게됩니다.
#include <stdio.h>
/* copy input to output; 1st version */
main()
{
int c;
c = getchar();
while (c != EOF) {
putchar(c);
c = getchar();
}
}
확실한 C 책에는 오류가 없어야합니다. 뭔가 빠졌습니까?
Windows의 경우 Ctrl + Z, iirc입니다. –
또한 올바르게 기억하고 변경되지 않은 경우 Windows 및 DOS에서 ctrl-Z가 스트림의 실제 문자로 배치됩니다. Unix에서 ctrl-D는 실제로 문자로 보내지지 않으며 파일의 끝을 의미하지는 않습니다. 즉, flush를 의미합니다. 그게 내가 http://stackoverflow.com/questions/1516122/how-to-capture-controld-signal에 쓴 것입니다 ... –
감사합니다,'ctrl + d'이 트릭을했습니다! 'Ctrl + Z'가 작동하지 않았습니다. –