는 여기에 "C 프로그래밍 언어"에 운동 1-13 내 코드입니다 :C :이 코드에서 "Enter"키가 출력되는 이유는 무엇입니까?
#include <stdio.h>
int main()
{
int c, currentIndex, currentLength;
currentLength = currentIndex = 0;
while ((c = getchar()) != EOF){
if (c == '\t' || c == '\n' || c == ' '){
if (currentLength == 0){
continue;
}
printf("Length of word %d: ||", currentIndex);
for (int i = 0; i < currentLength; i++){
putchar('-');
}
putchar('\n');
currentLength = 0;
++currentIndex;
} else {
++currentLength;
}
}
return 0;
}
그래서 나는이를 컴파일하고 ./a.out으로 실행할 수 있습니다,하지만 난 누를 때 시작 "입력" 새로운 입력 행 ('\ n')은 printf() 및 putchar() 함수를 실행합니다 (출력을 트리거하는 '또는'\ t '도 없음). while 루프는 끝나지 않습니다 (END-OF-FILE (CTRL-D)와 같이 종료됩니다). 그러나 나는 왜 이러한 함수가 호출되는지 궁금합니다. 한 번에 여러 줄의 입력을 방지합니다. 이 출력의의 여기 예입니다 : 나는 "Enter"를 누르면
how long are these words
Length of word 0: ||---
Length of word 1: ||----
Length of word 2: ||---
Length of word 3: ||-----
Length of word 4: ||-----
그냥 명확하게하기 위해, 나는 단지의 printf()와 putchar()의 출력을 얻을. CTRL-D는 루프와 프로그램을 종료합니다.
Windows를 사용하고 있습니까? 다른 줄 끝이 있습니다. 그것은'\ r \ n'을 사용합니다. – Mark
아니요, 우분투 16.04입니다. – jestivus