始终在 C++ 计算脚本中返回466750944

always returning 466750944 in c++ calculations script

本文关键字:返回 466750944 脚本 计算 C++      更新时间:2023-10-16
#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;
}

这是我尝试运行的脚本,我在 Code::blocks 中运行,如果有什么问题会导致它总是返回 466750944请告诉我,以便我可以在这方面做更多工作,这可能是我对代码块的问题,如果有人也可以在代码块或其他 IDE 中运行此脚本并发布他们的结果,将不胜感激, 谢谢

当你说sum = x * y在定义时被计算时,它不像数学中那样是一个公式,稍后在渲染时对其进行计算。

执行sum = x * y语句时,xy不会初始化,因此sum的值基本上是垃圾。

若要查看此行为的实际效果,请在调试器中单步执行代码,并查看xysum的值。

要么将其移动到正确定义xy之后,要么将其移动到函数中,例如:

int sum(int x, int y) {
return x * y;
}