我有这个程序增加了数字的功能,并且由于某种原因它在我运行时不断向我抛出错误,如果我在主函数之前声明和定义内容,程序运行正常但我不是理解为什么这是必要的......以下是给我提问的代码:
#include <iostream>
#include <math.h>
using namespace std;
long long addPow(int n, int p);
int main() {
cout << addPow(100, 1) * addPow(100, 1) - addPow(100, 2) << endl;
return 0;
}
addPow(int n, int p) {
long long sum = 0;
for (int i = 1; i <= n; i++) {
sum += pow(i, p);
}
return sum;
}
将其更改为此可以解决所有问题,但我并不知道为什么......
#include <iostream>
#include <math.h>
using namespace std;
long long addPow(int n, int p) {
long long sum = 0;
for (int i = 1; i <= n; i++) {
sum += pow(i, p);
}
return sum;
}
int main() {
cout << addPow(100, 1) * addPow(100, 1) - addPow(100, 2) << endl;
return 0;
}
如果有人可以帮助我,我真的很感激!
答案 0 :(得分:2)
第一个代码块中的函数,定义为
addPow(int n, int p) {
需要您放入原型的额外信息(即返回类型)。它应该是这样的:
long long addPow(int n, int p) {