执行while循环后程序崩溃

时间:2017-10-28 19:45:26

标签: c++ while-loop

代码在执行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`

1 个答案:

答案 0 :(得分:1)

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