그래서 지금은 정수에 대한 빠른 입력 방법으로 codechef 문제에 대해이 기능을 사용하고 있습니다.C의 길고 긴 입력을위한 빠른 입력?
내 질문은 이것이 실제로 어떻게 작동하는지, fgetc_unlocked (stdin) (비록 주석이 달렸음에도 불구하고)가 무엇인지, 가장 중요하게 어떻게 장시간 및 장기간 실행하도록 최적화 할 수 있습니까? 코드가 있어야한다 것처럼
inline void Scan_f(int a)
{
char c = 0;
while(c<33)//shouldn't value of c to compare be less than 9 as digit vary between 0 to 9??
//c = fgetc_unlocked(stdin);
c = getc(stdin);
a = 0;
while(c>33)
{
a = a*10 + c - '0';
//c = fgetc_unlocked(stdin);
c = getc(stdin);
}
왜 'c> 33'대 'while (c>' ')'입니까? 왜'char c = 0' 대'int c = 0' 이냐구요. 질문 중 하나를 설명하는 덕분입니다. – chux
@chux thanks .. 나는 일반 독자들에게 더 이해하기 쉽도록 코드 주석을 편집했다. 다른 질문은? – Danny
'fgetc_unlocked'는 thread가 안전하지 않은'getc' 버전입니다. 프로그램이 단일 스레드로 보장된다면 성능이 약간 향상 될 수 있습니다. – oakad