函数

Posted 垚垚是小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数相关的知识,希望对你有一定的参考价值。

两个数求大小,函数

# include<stdio.h>
# include<string.h>
//定义函数
 int getmax(int x, int y) {
	if (x > y)
		return x;
	else return y;
}
int main() {
	int a = 0, b = 1;
	//应用函数

	int max = getmax(a, b);
	printf("%d\\n", max);
}

两个数字交换

# include<stdio.h>
# include<string.h>
void swap(int* pa, int* pb) {
	int temp = 0;
	temp = *pa;
	*pa = *pb;
	*pb = temp;
}
int main() {
	int a = 10, b = 20;
	swap(&a, &b);
	printf("%d %d", a, b);

实参和形参

无
当实参传给形参,形参是实参的零时拷贝,不改变实参

函数的调用

在这里插入图片描述
传值调用:只是调用,不改变外面的数
传址调用:改变外面的数

. 写一个函数可以判断一个数是不是素数

# include<stdio.h>
# include<string.h>
//是素数返回一,不是素数返回零
int is_perim(int i) {
	int n;
	for (n = 2; n < i; n++) {
		if (i % n == 0) {
			return 0;
			}
	}
	return 1;
}
int main() {
	int i,n;
	for (i = 100; i <= 200; i++) {
		if (is_perim(i) == 1) {
			printf("%d\\n", i);
		}
	}
}

写闰年 1000年到2000年

# include<stdio.h>
# include<string.h>
int is_year(int i) {
	if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0))
		return 1;
	else return 0;
}
int main() {
	int year;
	for (year = 1000; year <= 2000;year++) {
		if (is_year (year)== 1) {
			printf("%d\\n", year);
		}
	}
}

写一个函数,实现一个整形有序数组的二分查找

# include<stdio.h>
# include<string.h>
int binary_search(int arr[], int k,int se)
{
		int left = 0;
		int right = se - 1;
		while(left<=right){
			int mid = (right + left) / 2;//找中值
		if (arr[mid] < k) {
			left = mid + 1;
		}
		else if (arr[mid] > k) {
			right = mid - 1;
		}
		else
			return mid;
	}
}
int main() {
	//二分查找,

```c
找个数组中的一个数
	//找到了返回值,没找到,返回负一
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int k = 7;
	int se = sizeof(arr) / sizeof(arr[0]);
	int ret = binary_search(arr, k,se);
	if (ret == -1) {
		printf("找不到");
	}
	else
		printf("下标是:%d\\n", ret);
}

写一个函数,每调用一次这个函数,就会将num的值增加1

# include<stdio.h>
# include<string.h>
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);
}

函数的声明与定义
在这里插入图片描述

以上是关于函数的主要内容,如果未能解决你的问题,请参考以下文章

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

在 Visual Studio 中创建构造函数的代码片段或快捷方式

调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段

web代码片段

C#常用代码片段备忘

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用