vs中的fflush()是不是有点不一样?

用代码块功能插入代码,请勿粘贴截图
int main()
{
    char a;
    char b;
    scanf("%c", &a);
    fflush(stdin);
    scanf("%c", &b);
    printf("%d %d\n", a, b);
    return 0;
}

运行结果及报错内容

img

看了很多帖子介绍fflush()函数清空标准输入缓冲区的作用,像上示代码本应在读取了1给a之后,后面的残留内容本该被清掉,但实际并没有,空格被读取给了b。
查了很多资料还是没有完全搞明白fflush(),是因为编译器的问题吗?我用的是vs2022