//方法:放到主函数里先算好
// int left = 0;
// int right = sz - 1;
// while (left <= right)
// {
// int mid = (left + right) / 2;
// if (k > arr[mid])
// {
// left = mid + 1;
// }
// else if (k < arr[mid])
// {
// right = mid - 1;
// }
// else
// {
// return mid;
// }
// }
// return -1;
//}
//int main()
//{
// int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// int k = 7;
// int sz = sizeof(arr) / sizeof(arr[0]);
// int ret = binary_search(arr, k,sz);
// 数组名是数组首地址 传递是 arr 首元素的地址
// if (-1 == ret)
// {
// printf(“没找到\n”);
// }
// else
// {
// printf(“找到了,下标是:%d\n”, ret);
// }
// return 0;
//}
//打印1000~2000年中的闰年
//#include<stdio.h>
//int is_leap_year(int x)
//{
// return ( ( (0 == x % 4) && (0 != x % 100) ) || (0 == x % 400))
//}
//int main()
//{
// int year = 0;
// for (year = 1004; year <= 2000; year+=4)
// {
// if (is_leap_year(year) == 1)
// printf("%d ",year);
// }
// return 0;
//}
//输出100 至 200 中的素数
//#include<stdio.h>
//#include<math.h>
//int is_prime_number(int n)
//{
// int z = 0;
// for (z = 2; z <= sqrt(n); z++)
// {
// if (0 == n % z)
// return 0;
// }
// return 1;
//}
//int main()
//{
// int i = 0;
// for (i = 101; i <= 200; i+=2)
// {
// if(is_prime_number(i) == 1)
// printf("%d ",i);
// }
// return 0;
//}
// 自定义函数
//#include<stdio.h>
//void swap1(int x, int y)//形式参数,当函数调用完之后,就会自动销毁
//{ //与局部变量相似
// int tmp = 0;
// tmp = x;
// x= y;
// y = tmp;
//}
//当实参转给形参的时候,形参是实参的一份拷贝,对形参的改变是不会改变实参的
//void swap2(int* pa,int* pb)//形式参数当函数调用完之后,就会自动销毁
//{
// int tmp = *pa;
// *pa = *pb;
// *pb = tmp;
//}
//int main()
//{
// int a = 10;
//int* pa = &a;//pa 指针变量
//*pa = 20 ; //解引用操作
//int b = 20;
/*int*pb = &b;*/
/**pb = 10;*/
//在使用swap函数,就是调用函数,
//调用函数分为,传值调用,传址调用
/* swap1(a,b);*/ //无法交换a与的b的值,只是交换自定义函数中x与y的值
//传值调用 不会改变实参的值
//swap2(&a,&b);//&a &b 是真实传给自定义函数,所以实际参数。a.b也是真实转给自定义函数,所以也是实际参数
//传址调用 会改变实参的值
//
// printf(“a=%d b=%d\n”,a,b);
// return 0;
//}
//#include<stdio.h>
//int max(int x, int y)
//{
// if (x > y)
// return x;
// else
// return y;
//}
//int main()
//{
// int a = 10;
// int b = 20;
// int ret = max(a,b);
// printf(“max = %d\n”,ret);
// return 0;
//}
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// //memset 内存操作函数 memory(n.内存) -set(设置)
// char arr[] = “hello world”;
// memset(arr, ‘*’, 5);
// printf(“%s\n”,arr);
//
// //strlen - string-length字符串长度
//
// //strcpy- string - copy - 字符串拷贝
// //char arr1[] = “bit”;
// //char arr2[20] = “########”;
// //strcpy(arr2, arr1);
总结
虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。
架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。
如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
arr2[20] = “########”;
// //strcpy(arr2, arr1);
总结
虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。
架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。
如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
[外链图片转存中…(img-d9fX11SP-1721879313769)]