gpt4 book ai didi

c - 帮助 C scanf 语法

转载 作者:太空狗 更新时间:2023-10-29 15:48:13 27 4
gpt4 key购买 nike

当我运行以下代码片段时,它一直运行到第二个问题。然后它将“客户是学生吗?(y/n)\n”和“电影时间是几点?(以小时为单位)\n”提示放在一起(它们之间没有要回答的区域)。如果从那里采取任何行动,程序将停止工作。我做错什么了? (我很确定它与语法相关)

int A,B,C,D,age,time;
char edu, ddd;

printf ("What is the customer's age? \n");
scanf("%d", &age);

printf ("Is the customer a student? (y/n) \n");
scanf("%c", &edu);

printf ("What is the movies time? (in hours) \n");
scanf("%d", &time);

printf ("Is the movie 3-D? (y/n) \n");
scanf("%c", &ddd);

最佳答案

您可能需要在每次 scanf 之后吃掉来自 stdin 的额外输入,这样它就不会停留在缓冲区中并导致 scanf 接收缓冲数据。

这是因为在第一个文本条目之后按回车键的换行符保留在缓冲区中,并且是“%c”格式的有效条目 - 如果您查看“edu”的值,您应该会发现它是一个换行符.

关于c - 帮助 C scanf 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3723768/

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