当我在 cout 中调用函数时,我的 C++ 代码给出了“nan”输出。如果我删除注释标记 ('//') 并在没有 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;
}
最佳答案
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);
}
关于c++ - 为什么 cout 给出 'nan' 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36155937/