形参和实参的介绍及函数总结
1.形式参数和实际参数
-
实际参数可以是常量、变量、表达式
y = get(1);//常量 y = get(x);//变量 y = get(x+1);//表达式
-
形参和实参数值相同,地址不同(传递参数是数值的传递)。
#include <stdio.h> //变量四要素:名,类型,值,地址 int test(int x){//形式参数 printf("test的x地址是%p,数值是%d\n",&x,x); return 0; } int main(){ int x; int y; puts("请输入一个数:"); scanf("%d",&x); printf("main的x地址是%p,数值是%d\n",&x,x); y = test(x);//实际参数 return 0; }
-
局部变量作用在所在变量的代码区域内
全局变量作用在该文件夹内整个代码内
#include <stdio.h> int O;//全局变量:这个文件内的代码区域都有效 //变量四要素:名,类型,值,地址 int test(int x){//形式参数:保存在栈,被调用的时候才会申请内存,调用结束后,内存自动释放 printf("test的x地址是%p,数值是%d\n",&x,x); return 0; } int main(){ int x; int y; puts("请输入一个数:"); scanf("%d",&x); printf("main的x地址是%p,数值是%d\n",&x,x); y = test(x);//实际参数 return 0; }
-
三目运算符
z = x>y?x:y; //x是否大于y //是:输出x //否:输出y
2.获取两个最大的数
-
比较大小
#include <stdio.h> int test(int x,int y){ int z; if(x>z){ z = x; }else{ z = y; } } int main(){ //1.定义所需要的变量 int data1; int data2; int big; //2.提示输入 puts("请输入两个数"); //3.输入两个数 scanf("%d%d",&data1,&data2); //4.函数调用 big = test(data1,data2); //5.输出结果 printf("数据是:%d %d 最大的数:%d",data1,data2,big); return 0; }
-
两个浮点数的比较
#include <stdio.h> float test(float x, float y) { float z; if (x > y) { z = x; } else { z = y; } return z; // 返回较大的数 } int main() { // 1. 定义所需要的变量 float data1; float data2; float big; // 2. 提示输入 puts("请输入两个数"); // 3. 输入两个数 scanf("%f %f", &data1, &data2); // 4. 函数调用 big = test(data1, data2); // 接收 test 函数的返回值 // 5. 输出结果 printf("数据是: %f %f 最大的数: %f", data1, data2, big); return 0; }
3.关于函数的一些总结
- 说明
-
举例子:
- 函数声明之前:会产生警告
- 函数声明之后:不会产生警告