gpt4 book ai didi

c - while 循环工作不正常/意外?

转载 作者:行者123 更新时间:2023-11-30 19:13:24 29 4
gpt4 key购买 nike

所以我有这个代码:

char inputs[10] = "";
int numInputs = 0;
while (numInputs < 10){
char c;
printf("Enter char %i: ",numInputs);
scanf("%c",&c);
numInputs++;
}

我只是尝试用用户输入的 10 个字符值填充数组。当我运行这个时,它只允许我输入其他循环的输入(?)。这就是控制台的样子 -

输入字符 0: c
输入字符 1: 输入字符 2:r
输入字符 3: 输入字符 4:r
输入字符 5: 输入字符 6:r
输入字符 7: 输入字符 8:r
输入字符 9:程序以退出代码结束:0

这里有我遗漏的挑剔的东西吗?

最佳答案

改变

scanf ("%c", &c);

scanf (" %c", &c);

正如 @haris 提到的,该空间用于消耗由前一个 scanf 引起的输入缓冲区中留下的 \n(换行符)。

另请参阅:What does space in scanf mean?

关于c - while 循环工作不正常/意外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35594165/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com