C 扫描文本迫使我进入下一行,以确认输入。我能为特殊情况预防这种情况吗?

C 扫描文本迫使我进入下一行,以确认输入。我能为特殊情况预防这种情况吗?,c,cursor,scanf,C,Cursor,Scanf,所以基本上我有一个C语言的a程序,它的目的是看起来有条理。 确认Scanf语句后,我希望程序的光标不要移动。 下面是我的程序及其输出的示例部分: #include <stdio.h> int main() { char input[10]; int voltage=220; printf("What do you want to know\n"); //no need to correct me on this part please scanf("%s", input);

所以基本上我有一个C语言的a程序,它的目的是看起来有条理。 确认Scanf语句后,我希望程序的光标不要移动。 下面是我的程序及其输出的示例部分:

#include <stdio.h>
int main()
{
char input[10];
int voltage=220;
printf("What do you want to know\n");      //no need to correct me on this part please
scanf("%s", input);
if (strcmp("voltage",input)==0)
     printf(" = %d\n", voltage);
/* Imagine other string comparisons (resistance, current) here*/
return 0;
}
#包括
int main()
{
字符输入[10];
内部电压=220;
printf(“您想知道什么”;//请不要在这部分上纠正我
扫描频率(“%s”,输入);
如果(strcmp(“电压”,输入)==0)
printf(“=%d\n”,电压);
/*想象一下这里的其他字符串比较(电阻、电流)*/
返回0;
}
所以这个输入“电压”的程序输出如下: 电压//我刚刚通过scanf输入的 =220/\n因为输入后我按了enter键

我想要的是:

电压=220


我不知道是否有我不知道的反转\n功能。

在C中,没有标准的方法可以不按Enter键读取输入。您必须使用特定于平台的功能


StackOverflow中有很多问题都涉及到了这一点,比如在第一次调用中从
printf()
中删除
\n
怎么样?这根本没有帮助。我用新行结束输入,但我不想这样。您所谈论的\n与整个问题没有任何关系对@Filipe Gonçalves有些苛刻。令人惊讶的是,看似无关的问题确实会影响最终结果。看,是的,我很抱歉,但我的另一个帐户被禁用,因为我问了一些愚蠢的问题,但它们仍然比他的答案更高。Idk.所以我能做的不多了?好吧,谢谢你,先生。@user3272749好吧,是的,这可能不像你想象的那么容易。正如我所说,您必须使用特定于平台的解决方案。如果您只想让它在linux上工作,请尝试curses库。