修改
对不起,似乎我没有读过足够的先前问题来解决这个问题。尝试一下here的想法让我进入了getchar()
函数,它解决了换行问题和while
循环。
在评论中提出的建议似乎根本没有用,我可以按照我想要的次数按Enter键,但它没有做任何事情。
感谢mod链接了重复的问题。
++++++++++++++++++++++
所以我有一个使用C的任务。其中一个组件是用户输入标题。我到目前为止的代码片段是:
char accept;
char title [30];
do
{
printf("Please enter a title for the simulation: ");
fgets(title,30,stdin);
for ( i=0; i<30; i++)
{
if (title[i] == '\n')
{
title [i] = '\0';
break;
}
};
printf("\nContinue? (Y/N): ");
scanf(" %c", &accept);
//***Title to be displayed at the end with rest of test conditions***
} while ((accept == 'n') || (accept== 'N'));
注意:while循环是一个小规模版本,它将包含整个程序以提供重新开始的选项。
据我了解,for循环将在fgets()
输入后删除换行符,但是如果选择了N
选项,则会再次跳过fgets()
,并且我和#39;我真的不确定为什么。