执行while循环后程序崩溃

问题描述:

执行while循环后,代码关闭,并且不执行最后2个printf语句。我不知道什么是错的。在循环执行所选时间后,程序关闭。执行while循环后程序崩溃

#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

将您正在使用的语言添加到标签。 – Neo

+0

提示 - 你可以在你声明的同一行中初始化(在你的情况下设置为0)变量。 – Neo

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