总是在c ++计算脚本中返回466750944

-2 c++

#include <iostream>
using namespace std;
multiplication() {
  int x;
  int y;
  int sum;
  sum = y * x;

  cout << "multiplication" << endl;
  cout << "enter first number for multiplication: ";
  cin >> x;
  cout << "enter second number for multiplication: ";
  cin >> y;
  cout << "your product is: " << sum <<endl;
  return 0;
}
void division (){
  cout << "division" << endl;

}
void addition (){
  int y;
  int x;
  int sum = x * y;
  cin >> x;
  cin >> y;
  cout << sum;
}
void subtraction (){

}

int main()
{cout << "enter 1 for multiplication, enter 2 for division, enter 3 for addition, and enter 4 for subtraction"<<endl;
  int math;
  cin >> math;
  switch(math){

    case 1:
      multiplication();
      break;
    case 2:
      division();

    default:
      cout << "it dont work ooga booga"<<endl;
      break;
    case 3:
      addition ();
      break;
    case 4:
      subtraction();}
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我试图运行脚本,即时通讯代码::块运行.如果发生错误,将导致它总是返回466750944请告诉我,让我能够工作得更加此,这可能是我用的代码块,如果有问题的人也可以在codeblocks或其他ide中运行这个脚本并发布他们的结果非常感谢,谢谢

tad*_*man 6

当你说sum = x * y在定义点进行评估时,它不是数学中的公式,后者在渲染时会对其进行评估.

sum = x * y语句执行时,x并且y没有初始化,因此值sum基本上是垃圾.

在行动中看到这种行为,通过你的代码调试步骤,并期待在的价值x,ysum.

将其移动到之后 xy正确定义,或将其移动到一个函数,如:

int sum(int x, int y) {
  return x * y;
}
Run Code Online (Sandbox Code Playgroud)