今天在昨天的基础上写了几个自定义函数加强印象,了解了函数的嵌套和链式访问,以及学会了函数的声明调用,具体看如下代码:
#include<stdio.h>
//写一个函数可以判断一个数是否为素数
//#include<math.h>
//int is_prime(int n) {
// int j = 0;
// for (j = 2; j < n; j++) {//j<=sqrt(n)
// if (n%j == 0)
// return 0;
// }
// return 1;
//}
//int main() {
// int i = 0;
// for (i = 200; i <= 300; i++) {
// //判断是否为素数
// if (is_prime(i) == 1)
// printf("%d ", i);
// }
// return 0;
//}
//写一个函数判断是否为闰年
//int is_leap_year(int year) {
// if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
// return 1;
// else
// return 0;
//}
//int main() {
// int year = 0;
// for (year = 1000; year <= 2000; year++) {
// //判断是否为闰年
// if (is_leap_year(year) == 1)
// printf("%d ", year);
// }
// return 0;
//}
//写一个函数,可以实现对一个整形有序数组的二分查找
// //本质上是一个指针
//int binary_search(int arr[], int k, int sz) {
// //算法的实现
// int right=sz-1;
// int left=0;
// 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;
// }
// }
// return -1;
//}
//int main() {
// //二分查找
// //在一个有序数组中查找具体的某个数
// //如果找到的话返回下标,没找到的话返回-1
// int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
// int k = 7;
// int sz=sizeof(arr)/sizeof(arr[0]);
// //传递过去的是arr数组首元素的地址
// 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;
//}
函数的链式访问,即一个函数的返回值被另一个函数使用
//int main() {
// int len = 0;
// //1
// len = strlen(“abc”);
// printf("%d\n", len);
// //2
// printf("%d\n", strlen(“abc”));
// return 0;
//}
函数的链式访问
//int main() {
// printf("%d", printf("%d", printf("%d", 43)));//返回字符个数 4321
// return 0;
//}
#include"add.h" //自己写的函数声明都是双引号,不是尖括号
//函数声明
int main() {
int a = 10;
int b = 20;
int sum = Add(a, b);
printf(“sum=%d\n”, sum);
return 0;
}
函数声明在头文件中创建.h文件
#pragma once
//函数声明
int Add(int x, int y);
函数定义在源文件中创建
//函数定义
int Add(int x, int y) {
int z=x+y;
return z;
}