【问题标题】:The program crashes after executing while loop执行while循环后程序崩溃
【发布时间】:2017-10-28 19:45:26
【问题描述】:

代码在执行 while 循环后关闭,不执行最后 2 个 printf 语句。我不知道出了什么问题..在循环运行选定的时间后,程序就关闭了。

#include <stdio.h> 
int main()
{
    int numberofq;
    int questionansc;
    int questionansic;
    int counter;
    int answer;

    numberofq = 0;
    questionansc = 0;
    questionansic = 0;
    counter = 0;
    answer = 0;

    while(numberofq <1 || numberofq >5)
    {
    printf("Hello enter the amount of questions you want between 1 and 5 \n");
    scanf("%d", &numberofq);
    } // End While

    //Program runs until the counter is less than users wanted question number.
    while (counter < numberofq)
    {
        //Question 1
        printf("Question 1. what is 2+2? \n");
        scanf("%d" , &answer);

        //if users answer is equal to 4.
        if (answer == 4)
        {
        printf("You entered %d, you are correct\n", answer);
        questionansc = questionansc +1;
        } //End If

        //If the answer is not equal to 4.
        else 
        {
        printf("You entered %d, you are wrong correct answer is 4 \n", answer);
        questionansic = questionansic +1;
        } // End Else

        counter = counter +1;
        //End Question 1.

    } //End While

        printf("You got %d questions correct \n" , questionansc);
        printf("You got %d questions wrong" , questionansic);
        flushall();

        return 0;
} // End Main`

【问题讨论】:

  • 将您使用的语言添加到标签中。
  • 提示 - 您可以在声明变量的同一行中初始化(在您的情况下设置为 0)变量。

标签: c++ while-loop


【解决方案1】:

它实际上会打印它们并然后退出,但它退出的速度太快了,你没有机会看到这个。
您可以在 Windows 上使用 system("pause") 暂停执行,但这被认为是不好的做法。您可以使用getch() 或其他东西,但您也可以简单地从现有的 CMD/终端调用程序,这样程序完成后输出将保留在那里。

【讨论】:

    猜你喜欢
    • 2018-08-27
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    • 2021-07-09
    相关资源
    最近更新 更多