如何解决这个崩溃的C代码?

时间:2014-09-27 22:37:15

标签: c arrays while-loop crash

所以我在C编程中研究Euler的Phi函数。一切似乎都很完美,直到我点击这段代码并崩溃。

while(a[i] != 0 || a[i]!= 1)
        {
            m=m*((a[i]-1)/a[i]);
            i++;
        } 

在此代码的代码之前,用户输入一个值,然后确定素因子。

1 个答案:

答案 0 :(得分:1)

a[i] != 0 || a[i] != 1

这始终是正确的,因为数字不能同时为0和1.当a[i]为零时,您可能会遇到零除法条件。

我想你打算写

a[i] != 0 && a[i] != 1

但我不能确定,因为我看不到你的其余代码。但是,这种变化将避免零差。