//#include<stdio.h>
//void new_line()
//{
// printf(“hehe\n”);
//}
//void three_line()
//{
// int i = 0;
// for (i = 0; i < 3; i++)
// {
// new_line();
// }
//}
//int main()
//{
// three_line();
// return 0;
//}
//函数的 链式访问
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// //1
// int len = 0;
// len = strlen(“abc”);
// printf(“%d\n”,len);
// //2
// printf(“%d\n”,strlen(“abc”));//链式访问
// return 0;
//}
//#include<stdio.h>
//int main()
//{
// printf(“%d”,printf(“%d”,printf(“%d”,43)));//输出为 4321
// printf返回值是字符串个数
// printf(“%d”,43) 屏幕上打印了2个字符43,这时屏幕显示43,而printf(“%d”,43)的返回值为2,
// 即printf(“d”,printf(“%d”,2));
// printf(“%d”,2)在屏幕上打印了1个字符2,这时屏幕显示432,而printf(“%d”,2)的返回值为1;
// 即printf(“%d”,1);在屏幕上打印了1个字符1,这时屏幕显示4321
// return 0;
//}
//void add(int* p)
//{
// (*p)++;// ++ 优先级高于*,所以要打括号
//}
//int main()
//{
// int num = 0;
// add(&num);
// printf(“%d\n”,num);
// add(&num);
// printf(“%d\n”, num);
// add(&num);
// printf(“%d\n”, num);
// return 0;
//}
//二分查找
//#include<stdio.h>
//本质上 arr 是一个指针
//int binary_search(int arr[], int k,int sz)
//{
/*int sz = sizeof(arr) / sizeof(arr[0])*/;//数组传参不能再用这个方式器
//方法:放到主函数里先算好
// 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);
// //printf(“%s\n”,arr2);
// //return 0;
//}