你在输入缓冲区输入时(以回车为结束标志),scanf函数会读取回车前的内容,而回车是也是一个字符'\n',它的存在会影响之后getchar();函数的读取。
for循环相对于while循环的优势:若语句中有continue,while循环会直接跳到判断表达式,而for循环在进入判断前,还有个调整表达式ex3。
二分查找
int main ()
{
int left=0;
int right=5;
int a[]={1,2,3,4,5,6,7,9};
int subscript=-1;
while(right>=left)
{
int mid=(left+right)/2;
if(a[mid]>x)
{
right=mid-1;
}
else if(a[mid]<x)
{
left=mid+1;
}
else
{
subscript= mid;
}
}
if(subscript==-1)
{
printf("can not find ");
}
else
{
printf(it is a[%d]",subscript);
}
}
这篇博客介绍了C语言中使用for循环实现的二分查找算法。在循环结构中,详细阐述了如何根据中间值与目标值的比较来调整搜索范围,并在找到目标值时返回其下标,未找到则输出提示信息。该示例代码展示了二分查找的效率优势,尤其在处理有序数组时。
166

被折叠的 条评论
为什么被折叠?



