C++中的引用

#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 我不知道是为什么??还请好心的大虾帮帮忙 谢谢啊

这个程序输入3的时候 rsquared=9吧?改成int factor(int,int)squared的值不会改变,也就说没给赋值,输出的还是分配给他内存的里东西
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-10-19
可以在不希望改变的引用前加上美元符号($),这样就能对单元格 C1 进行绝对引用。如果要对单元格 C1 进行绝对引用,请在公式中加入美元符号: =A5*$C$
第2个回答  2010-10-19
int factor(int ,int&);和int factor(int ,int);
factor(number,squared);
加了&的话表示传引用,squared的值会在函数中改变,而没加squared的值则不会改变了
相似回答
大家正在搜