지금 나는 C 책을 읽으며 책에 나오는 예를 발견 할 수 있습니다.입력 내에서 줄 수, 단어 수 및 문자 수를 계산하십시오.
#include <stdio.h>
#define IN 1
#define OUT 0
main()
{
int c, nl, nw, nc, state;
state = OUT;
nl = nw = nc = 0;
while ((c = getchar()) != EOF) {
++nc;
if (c == '\n')
++nl;
if (c == ' ' || c == '\n' || c == '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}
}
printf("%d %d %d\n", nl, nw, nc);
}
입력 내용 내에서 줄 수, 단어 수 및 문자 수를 계산합니다. 그러나 터미널에서 실행할 때 아무 것도하지 않는 것처럼 보입니다. 뭔가 빠졌거나이 코드에 문제가 있습니까?
다음은 좋은 연습입니다. if 문 대신 switch 문을 사용하여 코드를 다시 작성하십시오. 결과는 더 명확한 코드가됩니다. 보다 길고 자세한 설명이 포함 된 이름 (예 :'IN_WORD', 'charCount','wordCount')을 사용하면 더 명확한 코드가 생성됩니다. – outis
콘솔 I/O 대신 실제 파일을 stdin으로 리디렉션하여 코드를 실행하십시오. 예; 명령 행에서 myprog
Clifford
마지막 문자가 개행 문자가 아니고 파일이 비어 있지 않으면 행 수가 1 씩 증가합니다. – chqrlie