当从fgetc构造一个整数时,数字变得混乱

时间:2018-12-01 18:11:41

标签: c fgetc

    while(1){
        input = fgetc(stdin);

        if(input>='0' && input<='9'){
            if(input == '0'){
                number=number*10;
            }
            else{
                number = number + (input-'0')*pow(10,b);
                printf("%d\n",number);
            }
            b++;
        }

这是我编写的代码,这是输出

115524
1
11
510
5510
25509
425509

有人知道为什么会这样以及如何解决吗? 我不能像int那样输入它,因为输入也可能包含需要过滤掉的字符。

0 个答案:

没有答案