我目前正在使用getc()
循环接收用户输入:
char x;
while (x != 'q')
{
printf("(c)ontinue or (q)uit?");
x = getc(stdin);
}
如果用户输入
c
,那么循环会执行,可能会在第一轮输入时加上另一个字符(我猜可能是终止符或者换行符?)。我可以通过使用以下方式来防止这种情况:char toss;
char x;
while (x != 'q')
{
printf("(c)ontinue or (q)uit?");
x = getc(stdin);
toss = getc(stdin);
}
但我认为这只是一种懒惰的新手处理方式。是否有更清晰的方法使用getc
,或者我应该将其作为字符串并使用数组的第一个字符?是否还有其他更干净的方式我甚至没有考虑过?