getchar vs scanf:为什么getchar不起作用?

问题描述 投票:0回答:2

我编写了一个简单的程序来输入数字并返回任何值,除以该值将返回余数3。

我目前正在阅读K&R,它直到第7章才讲授scanf,所以我尝试使用getchar。它不起作用,但是scanf起作用。我在做什么错?

int main()
{
    int c, i;

    printf("Input an integer: ");
    //c = getchar();
    scanf("%d", &c);

    for (i = 1; i <= 100; i++) {
        if ((i % c) == 3) {
            printf("%d\n", i);
        }
    }
    return 0;
}

可选的附加问题:似乎这里的人们一直建议不要从K&R开始。对于初学者来说,哪种更好的选择呢?

c scanf getchar
2个回答
0
投票

此:

scanf("%d", &c);

0
投票

[c - '0']从输入流中读取一个符号,并将其作为其内部表示形式或man ascii的整数值返回。

© www.soinside.com 2019 - 2024. All rights reserved.