我使用scanf来获取用户输入,但是如果按下回车键,光标将闪烁到下一行〜 我应该使用什么功能而不是scanf如果我希望程序将终止,如果用户只按Enter而不键入任何东西?
感谢
答案 0 :(得分:2)
Scanf读取直到下一个令牌 - 它根本不关心换行符(只是将它们视为空格,如空格或制表符)。
相反,请使用类似fgets的行读取功能。
答案 1 :(得分:0)
您可以通过以下方式使用gets()函数:
<ion-fab vertical="center" horizontal="end" slot="fixed">
<ion-fab-button>
<ion-icon name="add"></ion-icon>
</ion-fab-button>
</ion-fab>
函数 char * gets(char * s)将一行从stdin读入指向的缓冲区 直到终止换行符或EOF(文件末尾)
注意gets()是不安全的。您现在无法先验将读取多少字符。这可能会导致一些安全问题,并最终导致崩溃。
答案 2 :(得分:-1)
我不同意:
char * x;
scanf("%s",x);
printf("Inserted line: %s\n",x);
将仅在x中存储直到返回键的字符。 我构建它并运行它并且它可以工作。
答案 3 :(得分:-1)
只需使用以下代码:
char ch;
printf("Enter Your Sentence \n");
while (1)
{
ch = getch();
if ((int)ch == 13)
break;
printf("%c", ch);
}