为什么是输出相同的数啊
#include<stdio.h>
int main()
{
int a[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j,c=0;
for(i=0;i<6;i++)
{
for(j=0;j<6;j++)
if(a[i]==b[j])break;
if(j<6) printf("c=%d\n",a[i]);
}
printf("%d\n",a[i]);
return 0;
}
if(a[i]==b[j])break;
if(j<6) printf("c=%d\n",a[i]);
这里第一行是a数组中元素和b数组中元素相等就跳出j的循环,当i=0时,j会从0运行到5,一直都是输出a[0];当i循环时,和i=0同理
第二个for循环里面不是判断了 如果a[i] == b[j]则跳出循环,然后输出相同的数么。
因此会输出c=4 25 27 16这四个数
另外提醒下,你最后一个printf("%d\n",a[i]);这里数组会越界。
你写break,运行到这的时候,不就结束了吗?而且你为什么要重复printf相同的内容?