gpt4 book ai didi

c - printf() 与 scanf() 在同一行

转载 作者:行者123 更新时间:2023-11-30 17:54:44 25 4
gpt4 key购买 nike

这是我到目前为止的代码:

printf("Input:\t   Radius:\tSurface Area:\t Circumference:\t    Volume:\n\n");
scanf("%lg", &diameter);
printf("%lg%lg\t\t%-12lg\t\t%-12lg\t\t%-12lg\n\n", diameter, calcRadius(diameter), calcSurfaceArea(diameter), calcCircumference(diameter), calcVolume(diameter));

我的输出如下所示:

Input:     Radius:      Surface Area:    Circumference:     Volume:

99
9949.5 30775.1 310.86 507790

Press any key to continue . . .

如何使输出看起来像这样:

Input:     Radius:      Surface Area:    Circumference:     Volume:

99 9949.5 30775.1 310.86 507790

Press any key to continue . . .

简而言之,我意识到使用 scanf() 并且用户按 Enter 键后,printf() 自动打印到新行。我怎样才能得到它,以便它打印在用户输入数字的同一行上,即使用户按下 Enter 键也是如此。

我应该使用不同的函数来获取输入,还是完全不同的方法?

最佳答案

您可以使用 termios 库将 STDIN 设置为非规范和非回显模式,并开始自己回显字符,这样就不会打印换行符。另外,如果您想走这条路,您必须使用自己的 scanf 实现:

http://www.gnu.org/software/libc/manual/html_node/Noncanon-Example.html

关于c - printf() 与 scanf() 在同一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14778606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com