编写一段简单c程序中发现了出现问题:第二部分运行结束后,第三部分跳过输入阶段 直接输出结果。编辑 排查后发现是因为scanf的缓存区未清空,且下一个输入的变量为char类型,导致‘\n’从缓存池中被读取并被当作c的值被使用,其他变量为int类型,无次现象。
解决方案:
在变量c被输入前加入getchar()用以清空缓存区.
编写一段简单c程序中发现了出现问题:第二部分运行结束后,第三部分跳过输入阶段 直接输出结果。编辑 排查后发现是因为scanf的缓存区未清空,且下一个输入的变量为char类型,导致‘\n’从缓存池中被读取并被当作c的值被使用,其他变量为int类型,无次现象。
解决方案:
在变量c被输入前加入getchar()用以清空缓存区.