关键字static:
在C语言中,static是用来修饰变量和函数的:
1. 修饰局部变量-称为静态局部变量
static修饰局部变量改变了变量的生命周期
让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束。
2. 修饰全局变量-称为静态全局变量
一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使用。
3. 修饰函数-称为静态函数
一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。
二分查找:
比如我买了一双鞋,你好奇问我多少钱,我说不超过300元。你还是好奇,你想知道到底多少,我就让你猜,你会怎么猜?
答案:你每次猜中间数。
int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int sz = sizeof(arr) / sizeof(arr[0]);
int k = 7;
int left = 0;
int right = sz - 1;
while (left <= right)
{
int mid = (left + right) / 2;
if (arr[mid] < k)
left = mid + 1;
else if (arr[mid] > k)
right = mid - 1;
else
{
printf("找到了,下标是:%d", mid);
break;
}
}
if (left > right)
printf("找不到");
return 0;
}
二分查找可以极大地提高查找效率, 但只适用于有序数组。