时语-shine 2022-11-28 18:41 采纳率: 66.7%
浏览 16
已结题

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

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-11-28 20:10
    关注
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月29日
  • 创建了问题 11月28日