我正在编写一个程序,用于查找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++;
}
}
}
答案 0 :(得分:2)
我不太确定,因为你的代码看起来不错。
但是,在return 0;
末尾添加main()
会获得成功。也许是对在线编译器本身的限制。
此外,将int main()
更改为int main(void)
,但这并不重要。
参见 LIVE CODE