输入在C程序中进入无限循环

时间:2013-10-19 13:52:55

标签: c

我在问题http://www.codechef.com/ACMKAN13/problems/LINEPROB下面有一个C代码片段,但输入似乎进入无限循环,它没有停止。有人可以看看。

提前致谢:)

整个代码位于:http://pastebin.com/aKdybQtm

int main(){
    int *res, in[4], i, j, n;
    j = 0;
    scanf("%d", &n);
    res = malloc(n*(sizeof(int)));
    for(i=0; i<n; i++)
    {
        scanf("%d", &in[0]);
        scanf("%d", &in[1]);
        scanf("%d", &in[2]);
        scanf("%d", &in[3]);
        res[j] = countbox(in);
        j++;
    }
    for(i=0; i<n; i++)
        printf("%d\n", res[i]);
    return 0;
}    

1 个答案:

答案 0 :(得分:3)

for中的main循环没有问题。您的countbox函数

中存在问题
if(x1 < x2){
    while((x1+i)<x2){
        if(getY(m, (x1+i), in) != (x1+i))
            count++;
    }
}  

一旦(x1+i)<x2条件成立,它将永远为真,因为您没有更新i