我正在读一本书,这部分让我对getchar()
int peekchar(void){
int c;
c = getchar();
if(c!=EOF) ungetc(c,stdin);
return c;
}
int readNumber(void){
int accumulator=0; /*Number read so far*/
int c;
while((c = peekchar()) != EOF && isdigit(c)) {
c = getchar(); /* consume it */
accumulator *= 10; /* shift previous digits over */
accumulator += (c - '0'); /* add decimal value of new digit */
}
return accumulator;
}
accumulator += (c - '0');
输入将为digits
,即123
将作为输入提供,并将再次打印为输出123
。这就是该计划的作用。任何解释都会对你有所帮助。