函数
函数的传值调用
函数的形参和实参占用不同的代码块,对形参的修改并不会修改实参的值
函数的传址调用
传址调用指的是将函数外部创建的内存地址传给函数形参的一种调用方式
这种传参方式可以在函数内部操作函数外部的变量
练习
二分查找
#include<stdio.h>
int binary_2(int arr[] , int k,int len);
int main() {
int arr[ ] = {
1,2,3,4,5,6,7,8,9,10 };
int len = sizeof(arr) / sizeof(arr[0]);
int element ;
printf("请输入你想要查找的元素");
scanf("%d", &element);
int ret;
ret = binary_2(arr ,element,len);
if (ret == -1) {
printf("没有找到指定元素\n");
}
else {
printf("找到了,元素的下标是%d\n",ret);
}
return 0;
}
int binary_2(int arr[] , int k,int len) {
//int len = sizeof(arr) / sizeof(arr[0]);
int left = 0;
int right = len - 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 {
return mid