저는 초보 프로그래머로서 C에 대해 소개하고 있습니다. scanf()가 작동하는 방식에 대해 근본적인 것이 빠져 있습니다. 이 같은 코드를 사용하여 키보드에서 단일의 int를 읽고 싶어 : 나는이 코드를 실행하면 내가 디버깅을 중지 할 때까지키보드에서 입력되지 않은 경우 scanf()에서 입력을 읽는 위치는 어디입니까?
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int userBookSelection;
scanf("%i", &userBookSelection);
printf("Printing userBookSelection: %i", userBookSelection);
return EXIT_SUCCESS;
}
이 콘솔은 검은 유지됩니다. 키보드 입력을 기다리는 커서는 없습니다.
인쇄 userBookSelection : 내가 Windows에서는 MinGW의 GCC 컴파일러를 이클립스에서 디버깅하고 있습니다 2,130,567,168
내가 디버그를 중지하면 나는 콘솔에서이 출력, 같은 모든 시간을 볼 수 있습니다. 코드 구문이 정확하다고 보입니다. 빌드 경로에 문제가있을 수 있습니까? scanf()가 키보드 입력을 읽지 않는 이유를 알아야합니다.
코드를 어떻게 실행하고 있습니까? – SLaks
코드를 실행할 때 의도 한대로 작동합니다. – Tyler
표시된 프로그램은 올바른 ISO C입니다 (최대 점 :'scanf'가 지정된대로 손상되어 프로덕션 환경에서 사용해서는 안됩니다).하지만 이런 종류의 학습 운동은 괜찮습니다) 의도 한대로 작동해야합니다. _ 정확히 어떻게 컴파일러, 디버거, 콘솔, 운영 체제 등을 사용하고 있습니까? 아무것도 남겨 두지 마십시오. – zwol