C:在输入光标后插入要显示的符号

C:在输入光标后插入要显示的符号,c,printf,scanf,C,Printf,Scanf,我从用户那里得到了年利率。我希望在用户输入利率时显示“%”。下面是它的外观: Enter the annual interest rate: % 请注意挂起的“%”。光标应该正好在“%”之前(或在任何位置)闪烁,因此当用户键入(例如2.9)时,它看起来如下所示: Enter the annual interest rate: 2.9% 然后,用户按ENTER键,代码在新行上继续正常运行 这在C语言中是可能的吗?如果是,我该怎么做?如果您只想在命令行终端中运行程序,可以使用get()调用。 注

我从用户那里得到了年利率。我希望在用户输入利率时显示“%”。下面是它的外观:

Enter the annual interest rate: %
请注意挂起的“%”。光标应该正好在“%”之前(或在任何位置)闪烁,因此当用户键入(例如2.9)时,它看起来如下所示:

Enter the annual interest rate: 2.9%
然后,用户按ENTER键,代码在新行上继续正常运行


这在C语言中是可能的吗?如果是,我该怎么做?

如果您只想在命令行终端中运行程序,可以使用get()调用。 注意:printf中需要双精度%才能输出一个%符号

 double percentRate;
 printf("Enter the annual interest rate: %%");
 char input[256];
 gets(input);
 // then parse the input buffer
 percentRate = atof(input);

我认为作为一个控制台程序是不可能的。您可以使用一些GUI来完成它。您可以随时提示“输入年利率(%):”来提醒用户。在控制台上使用_clrsc()和_getch()是可能的,但这不太实用。@Armin我认为这在不同于Windows的平台上不起作用。这在标准C I/O库中是不可能的。它的设计目的是与电动打字机和穿孔磁带配合使用,而不是与新型的CRT设备配合使用。您需要一个终端I/O库,如GNU Readline(Unix的本机版本,但我认为也有Windows版本)。