gpt4 book ai didi

c - 程序控制流程未按预期工作

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

这是C 中的一个问题。程序控制流程不符合预期。它要求输入字符 in 但未能要求输入字符 x。

int foo();

int main(int argc, const char * argv[]) {

foo();
return 0;
}



int foo(){

char in;
char x;
printf("Do you wanna party \n");


if((in = getchar()) == 'y')
printf("Go Sleep!, I was kidding\n");
else
printf("Oh! you are so boaring..\n");


printf("\nOk, Another Question\n");
printf("Wanna Go to Sleep\n");


if((x = getchar()) == 'y')
printf("ok lets go, Sleepy Head\n");
else
printf("No, lets go\n");


return 0;
}

最佳答案

为了澄清上述注释,在输入过程中,您按Y,然后按ENTER。因此,y 被视为第一个 getchar() 的输入,并且按 ENTER 键 [\n >] 存储在输入缓冲区中。

在调用下一个 getchar() 时,会读取 \n,这被认为是 getchar() 的完全有效输入因此您的代码不会等待下一个输入。

关于c - 程序控制流程未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27513046/

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