我通常是Java程序员,几乎专门使用textmate,但是最近我开始将C ++与之一起使用。但是当我什至使用最基本的程序并结合了cin关键字并运行该程序时,我都没有机会在运行时放入任何东西,有时它会自己插入随机值!例如,如果我在textmate中运行了它:

#include <iostream>

int stonetolb(int);

int main() {

    using namespace std;
    int stone;
    cout << "enter the weight in stone";
    cin >> stone;
    int pounds = stonetolb(stone);
    cout << stone << "stone = ";
    cout << pounds <<" pounds.";
    return 0;
}

int stonetolb(int sts) {

        return 14 * sts;
}


我将输出:


  输入Stone32767stone = 458738磅的重量。


为什么会发生这种情况,如何停止呢?

最佳答案

输入语句cin >> stone最有可能失败,并且stone具有未定义的值。您需要使用if (cin >> stone) { ... } else { // input failure }检查输入失败。至于为什么这样一个简单的程序会表现出失败的行为,我不知道-您必须检查textmate文档。

关于c++ - 在textmate中使用cin和cout,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8203212/

10-11 17:59