gpt4 book ai didi

c - C 中的基本“是/否”程序突然结束

转载 作者:行者123 更新时间:2023-11-30 20:34:36 24 4
gpt4 key购买 nike

我是 C 语言编码的绝对初学者,我正在尝试编写一个程序来练习,让用户回答一系列是/否问题,就像是一个游戏一样。

我遇到的问题是,在回答第一个问题后,弹出第二个问题,程序没有给我(用户)回应的机会;程序突然结束。

显然,我在这里遗漏了一些简单的东西,可以从一个问题转到另一个问题而不终止。如果有任何建议,我将不胜感激。

这是我到目前为止所做的:

#include <stdio.h>

char answer, answertwo;

int main()
{
printf ("Are you laughing? (Y/N)\n" );
scanf ("%c", &answer);

if (answer == 'y' || answer == 'Y')
printf("\nGood\n");
else if (answer == 'n' || answer == 'N')
printf("\nBye\n");

printf("Do you want to read? (Y/N)\n ");
scanf ("%c, &answertwo");
if (answertwo == 'y' || answertwo == 'Y')
printf("\nGood\n");
else if (answertwo == 'n' || answertwo == 'N')
printf("\nBye\n");

return 0;
}

最佳答案

有两件事:

  1. scanf ("%c, &answertwo"); 行有拼写错误,请将引号移至第一个参数的末尾:

    scanf ("%c", &answertwo);
  2. scanf 的第二次调用提前结束,因为它消耗了第一次调用中 stdin 中的换行符。尝试将 scanf 中的格式说明符从 "%c" 替换为 "%c",以便它们在输入实际字符之前忽略空格.

关于c - C 中的基本“是/否”程序突然结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42013310/

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