对于输入的循环崩溃,原因不明

时间:2014-10-07 01:48:55

标签: c for-loop crash

好的伙计们,所以当我的程序反复崩溃时,我正坐在这里盯着我的屏幕。我已经为第一个for循环尝试了几个不同的修复程序。问题是,我不想在第一个for循环中更改任何变量,我只想将其作为我的第一个测试循环。问题是,如果没有在循环中附加变量(例如x ++或更改变量的东西),它就不会运行。我总是得到用户输入就好了,输入一个数字,然后bam。崩溃。

while (((x%2!=0)&&(y%2==0)) || ((x%2==0)&&(y%2!=0))) {
    int numtest;

    numtest=x%y;

    while (numtest==1 && x<=i) {
        a=(x*x)-(y*y);
        b=2*x*y;
        c=(x*x)+(y*y);

        x++;
        y++;
        printf("%d, %d, %d\n", a, b, c);
    }
}

即使我拥有所需的一切,我也不清楚它崩溃的原因。有人看到修复?

编辑:编辑以下建议 编辑2:发现崩溃是由于无限循环。更改为if语句会停止崩溃。

1 个答案:

答案 0 :(得分:0)

将此for (x=2, y=1;((x%2!=0)&&(y%2==0)) || ((x%2==0)&&(y%2!=0));i) {替换为此

for (x=2, y=1;((x%2!=0)&&(y%2==0)) || ((x%2==0)&&(y%2!=0));) {

或更好的 mlwn 建议使用while循环

x = 2;
y = 1;
while (((x%2!=0)&&(y%2==0)) || ((x%2==0)&&(y%2!=0))) {