关于c中getchar()的困惑

时间:2017-11-23 15:51:06

标签: c binary

我正在读一本书,这部分让我对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。这就是该计划的作用。任何解释都会对你有所帮助。

0 个答案:

没有答案