抱歉,之前没仔细看你代码,只是进行了逻辑上的判断
if和if之间是并列关系,依次进行判定,到了第三个if只要你的n!=0,pow的值就始终会是1,第三个if让前俩个没什么意义了,
先这样改试试:
//*
*
*/
if(p>0)
for(i=1;i<=p;i++)
pow*=n;
if(p<0)
pow=1/power(n,-p);
if(p=0&&n!=0)//只有指数为0,并且底数不为0的情况下,pow=1,应该这样表达
pow=1;
else
pow=1/n;
//*
*
*/再有错误,就是if没列举完所有情况
if和if之间是并列关系,依次进行判定,到了第三个if只要你的n!=0,pow的值就始终会是1,第三个if让前俩个没什么意义了,
先这样改试试:
//*
*
*/
if(p>0)
for(i=1;i<=p;i++)
pow*=n;
if(p<0)
pow=1/power(n,-p);
if(p=0&&n!=0)//只有指数为0,并且底数不为0的情况下,pow=1,应该这样表达
pow=1;
else
pow=1/n;
//*
*
*/再有错误,就是if没列举完所有情况
[此贴子已经被作者于2017-7-27 18:05编辑过]
现在的刀枪不入,
是因为曾经的万箭穿心!