以下是我的程序代码无效。该程序必须计算第二个数字的第一个数字的结果。问题出在哪里?
#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;
}
答案 0 :(得分:4)
您没有初始化rez
,因此行为未定义。
您应该int rez = 1;
并将案例视为v1 == 0
。
答案 1 :(得分:2)
您没有初始化rez
; C ++不会为你做那些,rez
很可能仍然包含一些随机数,因此你的程序很可能会输出一个随机数(但实际上它是未定义的行为);你应该把它初始化为1,例如
int rez = 1;
或者,在您的简单情况下,您可以使用v1
的值初始化它:
int rez = v1;