为什么C语言在scanf之后不能立即显示printf的内容

为什么C语言在scanf之后不能立即显示printf的内容,输入一个数字以后按回车不会有反应,只有再输入一个数字+回车才会输出。而且与自己想要的输出内容不符合。

img

img


蓝框部分,把所有scanf()中%f后面的\n去掉再输入,即可解决。
为什么去掉? 因为如果不去掉的话,你每次输入完都要回车一次才能执行下一步。
希望对题主有所帮助,望采纳!!************

scanf 与 \n一起使用的结果,
这种情况下会要去多输入一行,才有用,但是实际读入的却还是第一次输入的那一行,多余的信息依然会保存在输入流中。

img

因为你的scanf语句中有个\n,意味着你完成输入就要有个换行。然后本身完成输入也要换行。所以会多出来一个空行。把scanf中的\n删掉就好了