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;
}

猜你喜欢

转载自blog.51cto.com/14947752/2542520