C語言學習Day11

函數

函數的調用:

傳值調用:

##### 形參和實參分別佔用不一樣的空間,對形參中的值修改不會影響實參。(形參實例化後至關於實參的一份零時拷貝)

傳址調用:

###### 經過把實參的地址傳給形參,讓函數和函數外的變量創建聯繫,函數內部能夠直接操做函數外部的變量。

今日代碼:

#define _CRT_SECURE_NO_WARNINGS 1

/************************************************
         * @Title:> Day11
         * @Description:> Day11
         * @author:> HuaGe
         * @date:> 2020/10/19  16:05
 ***********************************************/

//函數
#include<stdio.h>

////比較兩個數的大小的函數
//int get_max(int x, int y)
//{
//  int max = (x > y) ? x : y;
//
//  return max;
//}
//int main()
//{
//  int x, y;
//  printf("請輸入兩個數,用空格隔開:");
//  scanf("%d%d", &x, &y);
//  int result = get_max(x, y);
//  printf("兩個數中的最大值爲:%d\n", result);
//  
//  return 0;
// }

////寫一個函數交換兩個整形變量的內容
////函數
//void swep(int* x, int* y)
//{
//  int m = 1;
//  m = *x;
//  *x = *y;
//  *y = m;
//}
//
//int main()
//{
//  int x = 10, y = 24;
//  swep(&x, &y);
//  printf("交換後:x=%d,y=%d\n", x, y);
//
//  return 0;
//}

////寫一個函數能夠判斷一個數是否是素數
//void is_SuShu(int x)
//{
//  int mark = 0;
//  for (int i = 2; i < sqrt(x); i++) {
//      if (x % i == 0) {
//          printf("%d不是素數\n", x);
//          mark++;
//          break;
//      }
//  }
//  if (mark == 0) {
//      printf("%d是素數\n", x);
//  }
//}
//
//int main()
//{
//  int a = 12;
//  is_SuShu(a);
//
//  return 0;
//}

////寫一個函數判斷一年是否是閏年
//int is_RunNian(int x)
//{
//  if ((x % 4 == 0 && x % 100 != 0) || (x % 400 == 0)) {
//      return 1;
//  }
//  else {
//      return 0;
//  }
//  
//}
//
//int main()
//{
//  for (int year = 1000; year <= 3000; year++) {
//      if (is_RunNian(year) == 1) {
//          printf("%d\t", year);
//      }
//      /*else {
//          printf("%d不是閏年\n", year);
//      }*/
//  }
//}

////二分查找
//int er_Search(int arr[], int x, int sz)
//{
//  int left = 0;
//  int right = sz - 1;
//  while (left <= right) {
//      int i = (left + right) / 2;//變量i用於標記要查找數的位置。
//      if (x == arr[i]) {
//          return i;
//      }
//      else if (x > arr[i]) {
//          left = i + 1;
//      }
//      else {
//          right = i - 1;
//      }
//  }
//  return -1;
//}
//
//int main()
//{
//  int arr1[] = { 1,3,6,12,17,19 };//arr1:在此數組中查找
//  int y = 6;//y:要查找的數
//  int k = sizeof(arr1) / sizeof(arr1[0]);
//  printf("%d\n", k);
//  int j = er_Search(arr1, y, k);
//  if (-1 == j) {
//      printf("該數組中沒有改元素\n");
//  }
//  else {
//      printf("改數在數組中的位置爲:%d\n", j);
//  }
//}
//引用頭文件
#include "num_Plus.h"
//寫一個函數,每調用一次這個函數,就會將num的值加一
//void num_Plus(int* num)
//{
//  //*num++:++的優先級高於*,因此只能用下面這種方式,或者(*p)++;
//  *num = *num + 1;
//}

int main()
{
    int num = 0;
    //調用函數
    num_Plus(&num);
    printf("num = %d\n", num); //num=1
    num_Plus(&num);
    printf("num = %d\n", num); //num=2
    num_Plus(&num);
    printf("num = %d\n", num); //num=3

    //嵌套循環:printf函數的返回值是打印字符的個數
    printf("%d\n", printf("%d", printf("%d", 43)));//4321

    return 0;
}
相關文章
相關標籤/搜索