三国志11自建名品:请问高手下面的程序输出的是什么??解释一下,谢谢

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 15:34:49
#include<stdio.h>
main()
{int i,j;
int a[6]={12,4,17,24,27,16},b[6]={27,13,4,25,23,16};
for(i=0;i<6;i++)
{for(j=0;j<6;j++) if(a[i]==b[j])break;
if(j<6)printf("%d",a[i]);}
printf("\n");
}

先固定i=0,然后让j从0到5,即分别比较a[0]与b[0],b[1],b[2],b[3],b[4],b[5],遇到相同的数时就打印。
然后i变为1,仍然与b[0],b[1],b[2],b[3],b[4],b[5]比较,遇到相同的数时就打印。
以此类推,最后得到两个集合中相同的数:4,27,16。

4
16

4和16
这C程序是求的a[6]={12,4,17,24,27,16}和b[6]={27,13,4,25,23,16}; 相同的集合(数)

输出的是两个整型数组里相同的数

42716

这个程序你改成,你就能够更明白了:
#include<stdio.h>
void main()
{
int i,j;
int a[6]={12,4,17,24,27,16},b[6]={27,13,4,25,23,16};
for(i=0;i<6;i++)
{
for(j=0;j<6;j++)
{
if(a[i]==b[j])break;
}
if(j!=6)printf("%d",a[i]);
}
printf("\n");
}
如果a[i]和b[j]不相等内嵌循环就会执行6次,j的值就会为6,自然就打印出相同的数了。
以上的大哥们,回答人家的问题,要像我这样的简明!