C++新手找不到错误,求助高手

来源:百度知道 编辑:UC知道 时间:2024/06/06 00:41:58
程序的目的是:让用户输入数字,计算base的expo次方。
VS2008能编译通过,但每次无论输入多少结果都是0,实在找不到为什么,请高手帮忙!

#include "stdafx.h"
#include <iostream>
using std::cin;
using std::cout;
using std::endl;

int main()
{
int result=0;
int base, expo;
cout<<"please input base:"<<endl;
cin>>base;
cout<<"please input exponent:"<<endl;
cin>>expo;
cout<<"the result is: "<<endl;
for(int cnt=1; cnt<=expo; ++cnt)
result*=base;
(注:这里改成result=result*base也不行)
cout<<"the "<<expo<<" times exponent of "<<base<<" is "<<result<<endl;
system("pause");
return 0;
}

result应该初始化为1
初始化为0,乘什么都是0
如果是求和的话,初始化为0

int result=0; 你的result这里是零
int base, expo;
cout<<"please input base:"<<endl;
cin>>base;
cout<<"please input exponent:"<<endl;
cin>>expo;
cout<<"the result is: "<<endl;
for(int cnt=1; cnt<=expo; ++cnt)
result*=base; 零乘以任何数当然是零啊!

代码该成这样:

int base, expo;
cout<<"please input base:"<<endl;
cin>>base;
int result=base; 放到这里。
cout<<"please input exponent:"<<endl;
cin>>expo;
cout<<"the result is: "<<endl;
for(int cnt=1; cnt<expo; ++cnt) 去掉等号
result*=base;

int result = 1;//改了这句就可以了,0乘以任何数都等于0呀!