为什么cout会给出' nan'输出?

时间:2016-03-22 13:38:49

标签: c++

我的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;
}

1 个答案:

答案 0 :(得分:3)

函数sumOfSquaresquareOfSum不返回值。他们应该返回一些东西,以便cout打印它们(或任何其他代码使用这些值)。因此,这两个函数可能会返回NaN0(在我的编译器上)或其他任何内容。

示例:

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);
}