今天在昨天的基礎上寫了幾個自定義函數加強印象,瞭解了函數的巢狀和鏈式存取,以及學會了函數的宣告呼叫,具體看如下程式碼:
#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;
}