如何让 scanf 接受完数字后在同一行输出?

编程初学者一枚,碰到一个类似输出表格的题目,大致要求是输入完停车小时数之后要输出停车所花费的钱数,效果大致如下:

hours charge
2 3.0

其中 hours 的数字我是通过 scanf 输入的,charge的数字我想通过 printf 输出,但是hours 输入完毕按下回车,光标就会挪到下一行输出 charge,类似:

hours charges
2
3.0

我想通过第一个表格那样呈现,请问有什么办法吗?

输入2
在打印hours charges
2 3.0

%d %f
输入的时候用空格,不用回车

这个貌似不行,因为scanf好像只能用回车
解决方案是自己写一个输入函数的实现,用空格做结束

只能说用scanf是没法实现的,不过c语言可以实现这种形式

#include
#include
#include
int main()
{
//int a;
int ch =_getche();//输入字符,不需要换行,即可获取。
_cprintf("%c",ch);//可以在同一行,输出

}

注释已经明了了,具体怎么用你研究就可以了


满足不了你的需求,因为scanf就是按回车来结束输入的。建议你放弃这种想法吧,实际中用不到这些的,别纠结了。

在程序的scanf下面加一句getchar()试试,getchar是用来吃掉回车符的,应该可以