急!c++3个小问题

来源:百度知道 编辑:UC知道 时间:2024/05/07 04:00:30
1.what is wrong?
void Power(int x,int y)
{int result;
result=1;
while(y>0)
{result=result*x;
y--;
}
}
2.what is wrong?
void Power(int x,int y,int result)
{
result=1;
while(y>0)
{result=result*x;
y--;
}
}
3.what is wrong?
void Power(int& x,int& y,int&result)
{
result=1;
while(y>0)
{result=result*x;
y--;
}
}
3各程序肯定都有错,哪里错了?能具体说下怎么改吗?void本来就无返回值啊

原则上说第三个应该是对的 都没有返回值 但第三个能实现x的y次方
最好是在第一个的基础上将result返回 另外将返回类型改成int
第一个 必须得有返回值
int Power(int x,int y)
{int result;
result=1;
while(y>0)
{result=result*x;
y--;
}
return result;
}
第二个
void Power(int x,int y,int *result)
{
*result=1;
while(y>0)
{*result=*result*x;
y--;
}
}
第三个是要特别注意的你把y的值给改了
void Power(int x,int y,int&result)
{
result=1;
while(y>0)
{result=result*x;
y--;
}
}
这样就行了!
还有问题的话到我空间留言 尽量答复

1.函数没有返回值。

2.result不是指针类型,无法将结果带回调用环境

3.无错

******************************

对,1的错误就在于函数是void类型,而且没有用指针类型变量,这样既无法返回值,也无法通过指针变量带回调用环境。

不知道你想问什么