마지막으로 C로 프로그래밍 한 이후로 시간이 지났습니다. 이제 다시 C로 돌아 가려하지만 프로그램에 문제가 있습니다. 이 프로그램은 매우 간단합니다. char 배열을 char에 저장하기 위해 getchar를 사용합니다. 그러나 어떤 이유로 프로그램이 while 루프 이후에 실행을 멈 춥니 다.while 루프가 끝난 후 프로그램 실행이 중지됩니다.
#include <stdio.h>
#define MAXLINE 1000
int main(){
char c;
char input[MAXLINE];
int i = 0;
while((c = getchar()) != EOF){
input[i] = c;
++i;
}
printf("Still running");
}
따라서 내 프로그램은 "아직 실행 중"을 인쇄하지 않습니다.
입력이 'MAXLINE (1000) 자 이상이 될 수 있습니까? –
루프를 깨기 위해 실제로'EOF '를 보냅니 까? –
또한 ['getchar'] (http://en.cppreference.com/w/c/io/getchar)는'int'를 반환합니다. 이것은 실제로 매우 중요합니다. –