gpt4 book ai didi

c - do while 语句只执行两次 code::block 和 dev c++

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:39 25 4
gpt4 key购买 nike

大家好,附件是我使用的简单代码:

#include <stdio.h>

void main()
{char choice;
do
{
printf("\nHello World");
printf("\nDo you wish to continue:\n");
choice = getchar();
}
while(choice=='y');
}

执行时我得到以下输出:

Hello World
Do you wish to continue
y

Hello World
Do you wish to continue
--------------------End of Program--------------------

如您所见,getchar() 函数在第二次迭代时不起作用。更重要的是,该程序没有等待我在第二次迭代中输入输入“选择”。

出了什么问题?

最佳答案

在第一次输入后您将按下的“Enter”键保留在缓冲区中,并在下次控制到达 getchar() 时读取。为避免这种情况,您可以在第一个 getchar() 之后使用另一个 getchar(),它将吸收输入的换行符。或者你可以使用这个

if(c != '\n')
c=getchar();

关于c - do while 语句只执行两次 code::block 和 dev c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32152441/

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