魔力宝贝水龙哪里抓:大家帮忙看下这段程序,我是菜鸟哈!

来源:百度文库 编辑:高校问答 时间:2024/04/29 06:56:39
main()
{
int a[9]={0,6,12,18,42,44,52,67,94};
int x=52,i,n=9,m;
i=n/2+1;
m=n/2;
while(m!=0)
{if(x<a[i])
{i=i-m/2-1;m=m/2;}
else if(x>a[i])
{i=i+m/2+1;m=m/2;}
else break;}
printf("the index is: %d",i);
}
最后i=????

最后 i = 6

n=9;
i=9/2+1=(int)5.5=5;
m=9/2=(int)4.5=4;
a[5]=42;
52>42 so
i=5+4/2+1=8;m=2;
a[8]=67;
52<67 so
i=8-2/2-1=6;m=1;
a[6]=44;
52>44 so
i=6+1/2+1=(int)7.5=7;
m=1/2=(int)0.5=0;
finally i=7

a[6]=52,楼上的

2