我的C ++代码正在给予' nan'当我在cout中调用函数时输出。如果我删除评论标记(' //')并在没有cout的情况下调用该函数,则输出正确。
代码:
#include <iostream>
#include<math.h>
using namespace std;
double sumOfSquare(double x, double y){
// cin>> x>> y;
double sum1 = 0;
for(double i = x; i <= y; i++){
sum1 += pow(i , 2);
}
//cout<< sum1 <<endl;
}
double squareOfSum(double a, double b){
double sum2 = 0;
for(double j = a; j <= b; j++){
sum2 += j;
}
// cout<< pow(sum2, 2) <<endl;
}
int main()
{
cout<< sumOfSquare(1, 100);
squareOfSum(1, 100);
cin.get();
return 0;
}
答案 0 :(得分:3)
函数sumOfSquare
和squareOfSum
不返回值。他们应该返回一些东西,以便cout
打印它们(或任何其他代码使用这些值)。因此,这两个函数可能会返回NaN
或0
(在我的编译器上)或其他任何内容。
示例:强>
double sumOfSquare(double x, double y){
// cin>> x>> y;
double sum1 = 0;
for(double i = x; i <= y; i++){
sum1 += pow(i , 2);
}
return sum1;
}
double squareOfSum(double a, double b){
double sum2 = 0;
for(double j = a; j <= b; j++){
sum2 += j;
}
return pow(sum2, 2);
}