gpt4 book ai didi

c - c 中的循环问题?这里有什么问题?

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

#include<stdio.h>
#include<stdlib.h>

int main()
{
char c='y';
int n=0;
while(c=='y')
{
printf("this is loop number %d\n", n);
n++;
printf("do you wish to continue? (y/n)");
c=getchar();
}
return 0;
}

while 循环在初始迭代后退出,并且 getchar 没有按照预期输入字符!这里的实现有什么问题。

最佳答案

当用户按下 Enter 时,会生成两个字符:'y''n' and换行符 '\n'。第一次调用 getchar() 获取字母,下一次调用获取换行符。您的代码必须忽略所有换行符。

do { c = getchar(); } while(c == '\n');

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

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