函数
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 中创建构造函数的代码片段或快捷方式