(这不是作业帮助问题)
我的教授要求我编写一个简单的程序来计算两个线性阵列的点积。那是容易的部分,所以我想。当我在NetBeans IDE 7.0中构建并运行该程序时,函数末尾的print语句为:
点积为1246
RUN FAILED(退出值25,总时间:68ms)
但是当我在调试模式下运行它时,我的输出窗口显示:
点积为1240
这个程序是我必须在其上构建的其他两个程序的前身(使用Pthreads和OpenMP),因此对我来说,我能让它正常工作并且我没有任何惊喜结果。
任何帮助将不胜感激。我只是不明白为什么会这样。一切看起来都对我不错,但是一双新的眼睛不会受伤。
#include <stdio.h>
#include <stdlib.h>
#define NN 16 //Len of array
main()
{
int a[NN], b[NN], iVal, dPro;
int i;
iVal = 0;
for(i=0; i<NN; i++) //Loop for building the arrays
{
a[i]=1.0*(i);
b[i]=1.0*(i);
}
for(i=0; i<NN; i++) //Loop for computing the dot product
{
dPro += a[i]*b[i];
}
printf("The dot product is %d \n", dPro);
}
答案 0 :(得分:2)
您向dPro
添加值,但您从未设置其起始值。