while if break 有问题
#include <iostream>#include <algorithm>
using namespace std;
int main()
{
int i,left=0,right=10,mid,x,a[10];
for(i=0;i<10;i++)
a[i]=rand();
sort(a,a+9);
for(i=0;i<10;i++)
cout<<a[i]<<" ";
cin>>
while(right>=left) // 这一行的while 为什么不能改为if
{ mid=(left+right)/2;
if(a[mid]==x)
break;
else if(a[mid]>x)
right=mid-1;
else
left=mid+1;
}
if(right>=left)
cout<<"a["<<mid<<"]"<<endl;
else
cout<<"没有这样的数"<<endl;
return 0;
}
为什么上面的一个while不能改为if 改了之后就是说这个break是非法的。