Ideone上的运行时错误,但在我的计算机上运行正常

时间:2015-06-18 15:28:25

标签: c c89

我正在编写一个程序,用于查找C语言中两个排序数组的交集。当我在我的机器上使用GCC编译并运行它时,代码工作正常,但在ideone.com上给出了运行时错误。

以下代码为Live link

#include <stdio.h>
#include <stdlib.h>

int main(){
    int arr1[] = {1,3,4,5,7,11,123};
    int arr2[] = {2,3,5,6,7,8,9,11,23,123};

    int i, j=0, k=0, l1, l2;

    l1 = sizeof(arr1)/ sizeof(arr1[0]);
    l2 = sizeof(arr2)/ sizeof(arr2[0]);

    while(j<l1 && k<l2){
        if(arr1[j]<arr2[k]){
            j++;
        }
        else if(arr1[j]>arr2[k]){
            k++;
        }
        else{
            printf("%d\t", arr1[j]);
            j++; k++;
        }
    }
}

1 个答案:

答案 0 :(得分:2)

我不太确定,因为你的代码看起来不错。

但是,在return 0;末尾添加main()会获得成功。也许是对在线编译器本身的限制。

此外,将int main()更改为int main(void),但这并不重要。

参见 LIVE CODE