C for循环是否可能在没有内容的情况下使代码崩溃

C for循环是否可能在没有内容的情况下使代码崩溃,c,function,variables,for-loop,runtime-error,C,Function,Variables,For Loop,Runtime Error,在我的代码中,我有一个错误,我能够精确到某个for循环,但现在我不确定问题到底是如何引起的 int linregm(int n, float x[], float y[]){ float denom=1; sumx = 0.0; sumx2 = 0.0; sumxy = 0.0; sumy = 0.0; /* for (i=0;

在我的代码中,我有一个错误,我能够精确到某个for循环,但现在我不确定问题到底是如何引起的

int linregm(int n, float x[], float y[]){
float denom=1;
sumx = 0.0;                  
sumx2 = 0.0;                    
sumxy = 0.0;                     
sumy = 0.0;                      
    /*
for (i=0;i<n;i++)
    { 
    //sumx  = sumx + x[i];       
    //sumx2 = sumx2 + x[i]*x[i];  
    //sumxy = sumxy + x[i] * y[i];
    //sumy  = sumy + y[i];         
} 
    */
denom = (n * sumx2 - sqr(sumx));
if (denom == 0) {
    // singular matrix. can't solve the problem.
    pass=1;
            return 0;
}

m = (n * sumxy  -  sumx * sumy) / denom;

pass=0; 
    return m;
}
这些是变量声明


我是C语言的新手,所以我不知道变量之间是否有特殊的交互,或者是什么东西可能会把我的代码搞砸,没有编译器警告,所以语法应该不会有问题。你们知道我到底做错了什么吗?谢谢。

您在哪里声明变量?主要功能是什么?你的错误是什么?是的。如果循环中的whatver代码修改了数据,从而阻止了不同错误的发生,则移除循环体可能会停止一个错误并显示另一个错误:(发布代码片段,如此问题所做的,将很快导致问题被“关闭”为“主题外”。您的问题清楚地说明代码已编译。因此,请发布一篇文章,以便我们可以帮助您。
m = linregm(sizeof(x)/sizeof(x[0]), x, y);

__IO float Send_float_Data[256];
float x[8] = {1,2,3,4,5,6,7,8};
float y[8];
float m,b;
unsigned int pass;
float   sumx,sumx2,sumxy,sumy=0.0; 

unsigned int i=0,j;