第一种方法(不建议采用):
int main()
{
int arr1[] = {1,3,5,7,9};
int arr2[] = {2,4,6};
...
int i = 0;
for(i=0; i<sizeof(arr1)/sizeof(arr1[0]); i++) //用siseof(arr1)来求取arr1中数组的长度
{
...i
int j = 0;
for(j=0; j<sizeof(arr2)/sizeof(arr2[0]); j++)
{
if(arr1[i] == arr2[j])
{
printf("有\n");
break; / /用break跳出第一个for循环
}
}//1
if(j<sizeof(arr2)/sizeof(arr2[0]))
{
break; //break跳出第二个循环
}
}
2
if(i>=sizeof(arr1)/sizeof(arr1[0]))
{
printf("没有\n");
}
return 0;
}
第二种方法:
int main()
{
int arr1[] = {1,3,5,7,9};
int arr2[] = {3,4,5,6,7};
//...
int i = 0;
for(i=0; i<sizeof(arr1)/sizeof(arr1[0]); i++)
{
//...i
int j = 0;
for(j=0; j<sizeof(arr2)/sizeof(arr2[0]); j++)
{
if(arr1[i] == arr2[j])
{
printf("有\n");
return 0; //return 0; 直接结束main函数.
}
}//1
}
//2
printf("没有\n");
return 0;
}
实用第二种方法好处是,不用多次实用break跳出循环,使代码更具与高效,可读性.***return一旦被执行直接结束main函数!