c ++简单程序无法正常工作

时间:2012-09-14 13:14:21

标签: c++

以下是我的程序代码无效。该程序必须计算第二个数字的第一个数字的结果。问题出在哪里?

#include <iostream>
    int main()
    {
        std::cout << "iveskite betkoki skaiciu" << std::endl;
        // "enter number:"
        int v1;
        std::cin >> v1;
        std::cout << "iveskite skaiciu kiek kartu jus norit pakelti pirmaji skaiciu" << std::endl;
        // "Enter the number of times you want to raise the first number"
        int v2;
        std::cin >> v2;
        int rez;
        // result
        for (int cnt = 0; cnt != v2; ++cnt)
            rez *= v1;  //  rez = rez * v1;
        std::cout << v1
                  << " pakeltas "
                  << v2 << " kartu ,yra: /t"
                  << rez << std::endl;
        return 0;
    }

2 个答案:

答案 0 :(得分:4)

您没有初始化rez,因此行为未定义。

您应该int rez = 1;并将案例视为v1 == 0

答案 1 :(得分:2)

您没有初始化rez; C ++不会为你做那些,rez很可能仍然包含一些随机数,因此你的程序很可能会输出一个随机数(但实际上它是未定义的行为);你应该把它初始化为1,例如

int rez = 1;

或者,在您的简单情况下,您可以使用v1的值初始化它:

int rez = v1;