#include<stdio.h>//对步骤的封装//声明函数//定义(实现)函数//调用函数//函数声明//返回值类型 + 函数名 + 参数 ;//返回值类型 int char int* char* void 返回值只能有一个//函数名 不要与系统函数重名 C语言中函数不允许重名//参数 数量 0~n (参数类型 参数名(可以不写),)voidPrint();intADD();intADD1(int,int);intmain(){//函数调用//函数名 + 具体的参数 + ;Print();ADD();//即使函数有返回值 也可以不用int n =ADD();printf("%d\n",ADD());printf("%d\n",ADD1(n,ADD()));return0;}//函数实现//返回值类型 + 函数名 + 参数(必须加参数名)//{// 具体封装的步骤//}voidPrint(){printf("hello\n");return;//结束这个函数 函数遇到return就结束printf("world\n");}intADD(){int a =1;int b =1;return a + b;}intADD1(int a,int b){return a + b;}
数组传参
#include<stdio.h>#defineARRlenth(a)sizeof(a)/sizeof(a[0])voidPrintArr(int arr[],int nLen)//在数组传参的时候 int arr[] == int *arr{int i;for(i =0; i < nLen; i++){printf("%d\n",arr[i]);}}//数组传参时 要设置两个参数 int arr[] == int *arr 记录首元素的地址//int nLen 记录数组长度intmain(){int arr[]={2,5,4,6,7,6,4,5,9,2,54,65};PrintArr(arr,ARRlenth(arr));return0;}
值传递
#include<stdio.h>voidSwap(int*pa,int*pb){int temp;
temp =*pb;*pb =*pa;*pa = temp;}//值传递 实参的值赋给形参//地址传递 把实参的地址赋给形参//如果要修改实参 必须使用地址传递intmain(){int a =1;int b =2;Swap(&a,&b);return0;}