当我在数字前输入“0”时出现错误

Bug when i input "0" before the number

当我想在数字前输入 0 时遇到问题,但是当我只输入数字时一切正常。

#include <iostream>
#include <stdio.h>

int main()
{
    int input, output;

    printf("Enter number : ");
    scanf("%i",&input);

    output = input % 7;
    printf("%i", output);

    return 0;
}

例如:

我知道在数字前不要输入 0 会更快,但我想知道是否可以在数字前输入 0 而不会出现错误。

我在 Windows 10 x64 上使用 Code::Blocks 16.01 (MinGW)。

%i 与带前缀的 0080100 等)结合使用会使 scanf 将输入解释为八进制数这是基数 8,而不是基数 10。如果你想 scanf 忽略它,你应该使用 %d 代替。