#include<iostream>
using namespace std;
int factor(int ,int&);
int main()
{
int number,squared,error;
cout<<"enter a number(0~20):";
cin>>number;
error = factor(number,squared);
if(error)
cout<<"error encountered!\n";
else
{
cout<<"Number: "<<number<<endl;
cout<<"Squared: "<<squared<<endl;
}
return 0;
}
int factor(int n,int& rSquared)
{
if(n>20 && n<0)
return 1;
rSquared = n*n;
return 0;
}
如果输入是3 则rsquared=3.但是如果将程序中某一部分int factor(int ,int&);改成int factor(int ,int);和int factor(int n,int& rSquared)改成int factor(int n,int rSquared)的话,这样再输入3,则rsquared=-858993460 我不知道是为什么??还请好心的大虾帮帮忙 谢谢啊