please bro help me

为什么是输出相同的数啊

#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相同的内容?