我的问题是,根据我输入的字符数,我的代码循环基于那个加 1。例如,5 个字符 + 1,我的代码循环 6 次。
我尝试过使用不同的替代方法,例如 getchar、scanf,但我坐在 fgetc 中,只是因为我更喜欢它。
问题代码是:
char decision = ' ';
printf("input data: ");
decision = fgetc(stdin);
while (checkChar(&decision) != 1)
{
printf("Please input a valid choice, 1 or 0\n");
decision = fgetc(stdin);
}
注意,checkChar 只是检查 char 是 1 还是 0,非常基本。例如,如果我输入 4 将导致: 请输入一个有效的选择,1 或 0 请输入一个有效的选择,1 或 0 请输入一个有效的选择,1 或 0 请输入一个有效的选择,1 或 0 请输入一个有效的选择,1 或 0
我已经找到了使用的解决方案:
while(fgetc(stdin) != '\n')
但它并不完全是我所说的整洁。我只是想知道是否有更好的方法?
谢谢您的帮助!