C++ while循环无法启动

Cpt*_*r74 4 c++ while-loop

因此,我们的想法是向用户询问数组的每个元素,但在为第一个问题(它要求元素数量)提供输入后,没有任何反应.无法弄清楚为什么.

#include <iostream>

int main()
{
        int numGrades;
        tryAgain:
        std::cout << "Enter number of grades" << std::endl;
        std::cin >> numGrades;

            if (numGrades > 30)
                {
                std::cout << "Please enter a valid number of grades" << std::endl;
                goto tryAgain;
                }


        int grades[numGrades - 1];
        int gradeCount = 0;
        while (gradeCount < numGrades);
            {
            std::cout << "Enter grade number" << gradeCount + 1 << ":";
            std::cin >> grades[gradeCount];

            ++ gradeCount;
            }   

        std::cout << grades;
        return 0;   
}
Run Code Online (Sandbox Code Playgroud)

Ily*_*lya 6

构造while (true);意味着while (true) {}(即无限循环).

所以,当你写作

while (gradeCount < numGrades);
{
  // ...
}
Run Code Online (Sandbox Code Playgroud)

你有以下几点:

while (gradeCount < numGrades)
{
}

{
  // ...
}
Run Code Online (Sandbox Code Playgroud)

如果是,则永远不会执行第二个块gradeCount < numGrades.