课程名称:物联网/嵌入式工程师
章节名称:第4周之第四讲 1-5 至 1-6 C语言中的函数:函数传参的值传递
讲师姓名:大白老师
本质:函数传参的本质,变量之间的赋值操作。
功能:在传递变量中保存的数据。核心思想是传递什么样子类型的变量。在接收的位置,就定义什么样类型的变量来接收。
#include <stdio.h> //函数传参的本质:变量之间的赋值操作 //int x = a; //int y = b; int do_calc(const int x,const int y) //函数的定义 { int sum = 0; printf("x = %d y = %d\n",x,y); sum = x + y; return sum; //在函数结束前,返回一个数据给调用者,返回值的类型要和sum匹配 } int main() //程序的入口,开始的地方 { int a = 0,b = 0; int t = 0; printf("please input two data : "); scanf("%d%d",&a,&b); //t = sum; t = do_calc(a,b); //函数返回值的使用 printf("a + b = %d\n",t); t = t * 100 - 8; printf("expression result = %d\n",t); //计算: ret = (x + y) * 100 - 8 return 0; }
//判断y是否是闰年,若是闰年,返回1,否则返回0 int do_leap(int y) { } int main() { int year; //1.要求用户从键盘输入1个年份赋值给year。 //2.然后调用do_leap(year)函数,判断是否是闰年 //3.利用ret变量接收返回值,若是闰年,输出"xx年是闰年",否则输出"xx年不是闰年" }
#include <stdio.h> //判断y是否是闰年,若是闰年,返回1,否则返回0 int do_leap(const int y) { int ret = 0; if (y%4 == 0 && y%100 !=0) { ret = 1; } else if (y%400 == 0){ ret = 1; } else { ret = 0; } return ret; } int main() { int year,ret; //1.要求用户从键盘输入1个年份赋值给year。 printf("请输入一个年份:\n"); scanf("%d",&year); //2.然后调用do_leap(year)函数,判断是否是闰年 ret = do_leap(year); //3.利用ret变量接收返回值,若是闰年,输出"xx年是闰年",否则输出"xx年不是闰年" ret ? printf("%d年是闰年\n",year) : printf("%d年不是闰年\n",year); return 0; }
通过函数传参的学习,能够使代码块更加低内聚高耦合。