猿问

C++求问,在线等

#include <iostream>
using namespace std;
int main(){
	int a,b,c,d,max,sum,sim;
	sum=c+d;
	sim=c-d;
	cout<<"*************************************比较大小***********************************"<<endl;
	cout<<"请输入两个数a,b"<<endl;	
	cout<<"请输入a=";
	cin>>a;
	cout<<"请输入b=";
	cin>>b;
	if(a>b){max=a;}
	else {max=b;}
cout<<"最大值为max="<<max<<endl;
cout<<"如果a>b进行加和计算,否则进行减法计算"<<endl;
if(a>b){
	cout<<"***********************************进行加法计算*********************************"<<endl;
	cout<<"输入c=";
	cin>>c;
	cout<<"输入d=";
	cin>>d;
	cout<<"c+d="<<sum<<endl;
}
else{
cout<<"***********************************进行减法计算*********************************"<<endl;
	cout<<"输入c=";
	cin>>c;
	cout<<"输入d=";
	cin>>d;
	cout<<"c-d="<<sim<<endl;
}
return 0;
}

为什么进行加法减法会出现加减的值不正确,应该怎么修改呢?减法无论输入什么值都为0,加法每次也是一个固定值,为-1717986920,请问怎么修改

山姆Huang
浏览 1395回答 1
1回答

onemoo

变量在定义时没有指定初值的话,其初值是随机的(并不是0)。 也就是第4行这里,所有的变量一开始都是随机值。那么在第5行 sum的值就是两个随机值之和——结果还是随机值。 同理,sim也是随机值。其后,sum和sim的值再也没有被更改,直到第23/31行你直接就把他们输出了。  虽然之前你又重新输入了c和d,但你并没有用它们来重新计算sum和sim啊。在定义变量时最好明确指定初值,以避免未初始化产生的随机值被这样误用。
随时随地看视频慕课网APP
我要回答