C ++代码导致可能的控制台输出错误

时间:2016-04-02 23:50:14

标签: c++

我正在使用教科书运行此代码:使用QT在C ++中设计模式简介。

/* Computes and prints n! for a given n.
Uses several basic elements of C++. */

#include <iostream>
int main() {

    using namespace std;
    /*
        */

    // Declarations of variables
    int factArg = 0;
    int fact(1);
    do {
        cout << "Factorial of: ";
        cin >> factArg;
        if (factArg < 0) {
            cout << "No negative values, please!" << endl;
        }
    }
    while (factArg < 0);
    int i = 2;

    while (i <= factArg) {
        fact = fact * i;
        i = i + 1;
    }
    cout << "The Factorial of " << factArg << " is: " << fact << endl;
    return 0;
}

输出控制台只打印一行代表&#34; Factorial为:&#34; 那是它的假设吗?

enter image description here

2 个答案:

答案 0 :(得分:0)

是的,这是程序最初应输出的内容;它在等你输入一个数字。如果你进入你的代码,你很快就会发现它将等待下一行“cin&gt;&gt; factArg;”的输入。

所以...来吧,输入一个数字然后按回车键:)。

答案 1 :(得分:-1)

是的,您的代码包含cin >> factArg,您将在程序运行之前首先在终端中输入该代码。您可能希望将using namespace std放在main函数之前而不是其中。