编辑:对于我的班级,我必须使用scanf
. 所以推荐其他输入方式不是我正在寻找的解决方案(如果有涉及scanf的解决方案)。
如果我正在阅读一个小项目(例如游戏)的用户输入。可以说我问would you like to play?
这会接受一个yes
或no
答案。所以我写了一些这样的简单代码:
#include <stdio.h>
int main(void)
{
char string[3]; //The max number of letters for "yes".
printf("Would you like to play?");
scanf("%s", string);
}
所以这段代码应该只是要求他们输入yes
or no
。我正在将我的长度设置char array
为 size 3
。这样它就足够大了yes
,也可以容纳no
。但是,如果有人输入无效输入,例如yesss
,我知道如何在之后比较字符串以处理此类事件,但这不会在技术上/可能覆盖我已声明的其他局部变量,因为它会延伸到我的数组长度之外? 如果是这样,有没有办法处理这个限制3个输入字符或什么?如果不是,为什么/如何知道只输入 3 的大小?