gpt4 book ai didi

c - 在代码中在这里做什么?

转载 作者:太空狗 更新时间:2023-10-29 15:52:35 25 4
gpt4 key购买 nike

在下面的一段代码中,while 循环在做什么(标有“loop”)?:-

int main(void)
{
char code;

for (;;)
{
printf("Enter operation code: ");
scanf(" %c", &code);
while (getchar() != '\n') // loop
;
switch (code)
{
case 'i':
insert();
break;
case 's':
search();
break;
case 'u':
update();
break;
case 'p':
print();
break;
case 'q':
return 0;
default:
printf("Illegal code\n");
}
printf("\n");
}
}

免责声明:代码不完整,它只是代码的一部分,因此无法编译。

最佳答案

getchar() 用于吃掉用户输入的多余字符和换行符\n
假设用户输入操作码为

isupq\n // '\n' is for "Enter" button

然后,scanf() 将只读取字符 i,其余五个字符将被语句消耗

while (getchar() != '\n')   
;

因此对于下一次迭代,scanf() 将等待用户输入一个字符,而不是从输入缓冲区中读取它。

关于c - 在代码中在这里做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18573703/

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