请大家帮我看看这段代码有问题么 执行起来巨慢无比
初学C++,写了一小段为练习函数的封装和参数的传递,做简单的A的B次方运算
代码如下:
- C/C++ code
#include <iostream>int power (int a,int b){ int i,j; j=a; for (i=1;i<b;i++) {j=j*a;} return j;}int main(){ using namespace std; int A,B,Ans; cout<<"Let's calculate A^B!\n"; cout<<"Please enter the Value A:"; cin>>A; cout<<"Please enter the Value B:"; cin>>B; Ans=power(A,B); cout<<"The answer is:"<<Ans<<"\n"; system ("pause"); return 0;}
使用的是Dev C++,问题是编译结束后要过将近十秒运行程序的命令行才能弹出来,哪位大大帮忙看看怎么回事!
先谢谢了:)
[解决办法]
程序没什么问题,写法都是很常规的,启动慢可能是本地mingw追加的代码的问题,在正常环境配置下应该是没问题的
[解决办法]
关键在
for (i=1;i<b;i++)
{j=j*a;}
这里的b你如果给很大的值就自然会慢一点了。
[解决办法]
我用VS2010编译,瞬间就弹出来结果了。另外楼上说的没什么道理吧,int型数的表示数范围是有限的,j过大时就发生溢出什么的了,对计算速度不产生影响的。
[解决办法]
我也是瞬间弹出。