一、理解
Notes:a.传递参数,传递的是值 ;b.形参和实参值相同,但是地址空间不同
#include <stdio.h>
//只传递数据和值
int test(int x)//形式参数,需包含变量类型、变量名 生命周期:栈空间
//被调用时才为形参申请内存,调用结束,内存又被系统释放
//局部变量的有效作用空间(作用域)要记得
{
printf("test的内存地址是%p,数值是%d\n",&x,x);
return 0;
}
//变量四要素:变量类型、变量名、变量值、变量地址
int main()
{
int x;
int y;
puts("请输入一个数:");
scanf("%d",&x);
printf("main的内存地址是%p,数值是%d\n",&x,x);
y = test(x);//实际参数
return 0;
}
Notes:局部变量
二、编程实例
输入两个整数,要求输出其较大值,用函数实现:一个返回值、两个参数、函数名、函数体
#include <stdio.h>
int getBigDataFromTwo(int x,int y)
{
int z;
z = x>y?x:y;//三目运算符
return z;
}
int main()
{
int data1;
int data2;
int bigOne;
//输入两个数
//提示输入
puts("请输入两个数:");
//获取输入
scanf("%d%d",&data1,&data2);
//函数调用
bigOne = getBigDataFromTwo(data1,data2);
//输出结果
printf("两个数据是%d,%d,较大的数是%d\n",data1,data2,bigOne);
return 0;
}