# include <iostream.h>
int fact(int n,int & rSquare,int & rCubed) //求一个数的平方,立方并返回他们的值!
//问题1:这里的n也可以写成为&n后程序输出相同!!为什么?
{
if( n>20 ||n<0){
cout<<"输入错误"<<endl;
return 1; }
else {
cout<<"输入正确"<<endl;
rSquare=n*n;
rCubed=n*n*n;
return 0;}
}
void main()
{
int num,squ,cub,error;
cout<<"please input num(0--20):\n";
cin>>num;
error=fact(num,squ,cub); //问题2:这个逻辑费解!是不是if (error)指代fact中的 if( n>20 ||n<0)?
if (error)
cout<<"error encounted ...:\n";
else
{
cout<<"num:"<<num<<endl;
cout<<"squ:"<<squ<<endl;
cout<<"cub:"<<cub<<endl;
}
}