#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
//int Add(int a, int b) {
// int z = 0;
// z = a + b;
// return z;
//}
//int main()
//{
// int a = 10;
// int b = 20;
// int sum = Add(a, b);
// printf("%d\n", sum);
// return 0;
//}
//c语言中函数分为库函数和自定义函数
//strcpy函数的使用
//int main()
//{
// char arr1[] = "bit";
// char arr2[20] = "########";
// strcpy(arr2, arr1);
// printf("%s\n", arr2);
// return 0;
//}
//memset函数的使用(内存设置)
//int main()
//{
// char arr[] = "hello world";
// memset(arr, '*', 5);
// printf("%s\n", arr);
// return 0;
//}
//自定义函数
//int get_max(int x, int y) {
// if (x > y)
// return x;
// else
// return y;
//}
//int main()
//{
// int a = 10;
// int b = 20;
// int max = get_max(a, b);
// printf("max=%d\n", max);
// return 0;
//}
//交换两个数的值
//void Swap2(int* pa, int* pb)
//{
// int tmp = 0;
// tmp = *pa;
// *pa = *pb;
// *pb= tmp;
//}
//int main()
//{
// int a = 10;
// int b = 20;
// printf("a=%d b=%d\n", a, b);
// Swap2(&a, &b);
// printf("a=%d b=%d\n", a, b);
// return 0;
//}
//2
//函数的调用分为传值调用和传址调用
//1.传值调用:函数的形参和实参分别占有不同的内存块,对形参的修改不会影响实参
//2.传址调用:把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式
//这种传参方式可以让函数和函数外边的变量建立起真正的联系,也就是函数内部可以直接操作函数外部的变量
//用函数方法打印100到200之间的素数
//int is_prime(int n)
//{
// int j = 0;
// for (j = 2;j < n;j++)
// {
// if (n % j == 0)
// return 0;
// }
// return 1;
//}
//int main()
//{
// int i = 0;
// for (i = 100;i <= 200;i++)
// {
// if (is_prime(i) == 1)
// printf("%d", i);
// }
// return 0;
//}
//函数方法实现二分查找
//int binary_search(int arr[], int k,int sz)
//{
// 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 {
// 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);
// if (ret == -1) {
// printf("找不到指定的数字\n");
// }
// else
// {
// printf("找到了,下标是:%d\n", ret);
// }
// return 0;
//}
//写一个函数,每调用一次这个函数,就会将num的值增加1
//void Add(int* p)
//{
// (*p)++;
//}
int main()
//{
// int num = 0;
// Add(&num);
// printf("num=%d\n", num);
// Add(&num);
// printf("num=%d\n", num);
// Add(&num);
// printf("num=%d\n", num);
// return 0;