gpt4 book ai didi

c - C 程序输出有问题

转载 作者:太空宇宙 更新时间:2023-11-04 02:28:34 24 4
gpt4 key购买 nike

据我所知,不管任何其他问题,下面的程序都应该打印出标题和菜单选项,然后提示用户输入。

但是,它什么都不做,当我停止执行时,它打印出菜单等,然后,由于它没有要求用户输入选项,它重复打印“这不是一个有效的选项”行。

*编辑:我已经完全删除了循环。我在程序中所拥有的只是打印标题、打印菜单、要求用户输入,在我终止之前,我仍然无法在控制台上看到任何东西。我的输入请求有问题吗?

EDIT2:绝对是 scanf,因为没有它一切正常。我运行带有附加功能的代码来打印出存储在选项中的值,当我在要求用户输入之前没有将它设置为 0 时它告诉我 -1。该程序似乎是自动分配选项,而不是费心询问用户他们想要什么。

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

int main ()
{
/*Print Title*/
printf("Maths Quiz Game \n");
printf("\n");

int i;
int rightCount = 0; //count of right answers
int wrongCount = 0; //count of wrong answers
int questions = 0; //user input for number of questions
int exit = 0; //store exit option
int option = 0; //menu option

while(exit == 0) //while loop that keeps program running until exit is chosen
{
/*Menu Options*/
printf("Please choose an option from the menu below. Enter the number of your choice. \n");
printf(" 1. Choose number of questions for this round. (Max = 5) \n");
printf(" 2. Start Quiz \n");
printf(" 3. Display total of right and wrong answers. (Only availanle after quiz) \n");
printf(" 4. Exit Game \n");

scanf("%d", &option); //taking user menu option

/*Error check for any input that is not a valid option. It continues until valid entry*/
while((option != 1) || (option != 2) || (option != 3) || (option != 4))
{
printf("\n That is not a valid option. Please try again. \n");
scanf("%d", &option);
}

最佳答案

while((option != 1) || (option != 2) || (option != 3) || (option != 4))

无论您输入什么选项值,假设 1,while() 的第一个条件将为假,但其余为真,因此进入循环并打印“这不是一个有效的选项。请重试。”所以 替换 ||使用逻辑 And(&&)

while((option != 1) && (option != 2) && (option != 3) && (option != 4))

现在在这里,如果您输入了正确的输入,它将不会显示“这不是一个有效的选项。请重试”

关于c - C 程序输出有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47241580/

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