Netbeans中调试结果和生成/运行结果-C之间存在差异

Netbeans中调试结果和生成/运行结果-C之间存在差异,c,debugging,netbeans,product,C,Debugging,Netbeans,Product,(这不是家庭作业帮助问题) 教授让我写一个简单的程序来计算两个线性阵列的点积。这是最简单的部分,所以我想。在NetBeans IDE 7.0中构建和运行程序时,函数末尾的print语句如下: 点积是1246 运行失败(退出值25,总时间:68ms) 但当我在调试模式下运行它时,我的输出窗口显示: 点积是1240 这个程序是我必须在此基础上构建的另外两个程序(使用Pthreads和OpenMP)的前身,因此让它正常工作对我来说很重要,并且不会产生任何意外的结果 任何帮助都将不胜感激。我只是不明白为

(这不是家庭作业帮助问题)

教授让我写一个简单的程序来计算两个线性阵列的点积。这是最简单的部分,所以我想。在NetBeans IDE 7.0中构建和运行程序时,函数末尾的print语句如下:

点积是1246

运行失败(退出值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);

}
#包括
#包括
#定义数组的NN 16//Len
main()
{
内特a[NN],b[NN],伊瓦尔,朝鲜民主主义人民共和国;
int i;
iVal=0;

对于(i=0;i您向
dPro
添加了值,但您从未设置它的起始值。

现在所有操作都运行顺利。足够简单的修复我几乎对自己错过它感到失望。谢谢!