我试图运行以下代码
int salespersons=0,weeks=0,days=5;
double weekly_sales[weeks][salespersons][days];
double total_weekly_sales[weeks];
for(int w=0; w < weeks;w++)
{
for(int d =0; d < days; d++)
{
for(int s=0; s < salespersons; s++)
{
{
total_weekly_sales[w]+=weekly_sales[w][s][d];
total_overall_weekly_sales[s]+= weekly_sales[w][s][d];
}
}
}
}
当我只跑...时
cout << total_weekly_sales[0];
我得到NaN因此在处理其余部分时跳过数组的第一部分。
答案 0 :(得分:5)
double weekly_sales[weeks][salespersons][days];
double total_weekly_sales[weeks];
的未初始化。强> 的
编辑:这是你应该如何初始化它们:
double weekly_sales[weeks][salespersons][days] = { { { 0.0 } } };
答案 1 :(得分:2)
double total_weekly_sales[weeks];
total_weekly_sales[w]+=weekly_sales[w][s][d];
您正在添加一个未初始化的变量。
打印未初始化的变量
cout << total_weekly_sales[0];
答案 2 :(得分:1)
您尝试使用代码并初始化所有变量
int weeks=2,salepersons=3,days=1;
double weekly_sales[weeks][salespersons][days];
double total_weekly_sales[weeks];
for(int w=0; w < weeks;w++)
{
for(int d =0; d < days; d++)
{
for(int s=0; s < salespersons; s++)
{
{
total_weekly_sales[w]=2;
weekly_sales[w][s][d]=1;
}
}
}
}
for(int w=0; w < weeks;w++)
{
for(int d =0; d < days; d++)
{
for(int s=0; s < salespersons; s++)
{
{
total_weekly_sales[w]+=weekly_sales[w][s][d];
total_overall_weekly_sales[s]+= weekly_sales[w][s][d];
}
}
}
}
使用图书馆!!!