招标网站平台有哪些,wordpress发不了博文,WordPress怎么改主题页脚,装修计划方案嵌套调用 嵌套调用就是函数之间的互相调用#xff0c;每个函数就是⼀个乐高零件#xff0c;正是因为多个乐高的零件互相无缝的配合才能搭建出精美的乐高玩具#xff0c;也正是因为函数之间有效的互相调用#xff0c;最后写出来了相对大型的程序。 假设我们计算某年…嵌套调用 嵌套调用就是函数之间的互相调用每个函数就是⼀个乐高零件正是因为多个乐高的零件互相无缝的配合才能搭建出精美的乐高玩具也正是因为函数之间有效的互相调用最后写出来了相对大型的程序。 假设我们计算某年某月有多少天如果要函数实现可以设计2个函数: is_leap_year()根据年份确定是否是闰年?get_days_of_month()调⽤is_leap_year确定是否是闰年后再根据月计算这个月的天数 int is_leap_year(int y)
{if(((y%40)(y%100!0))||(y%4000))return 1;elsereturn 0;
}
int get_days_of_month(int y, int m)
{int days[] {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int day days[m];if (is_leap_year(y) m 2)day 1;return day;
}
int main()
{int y 0;int m 0;scanf(%d %d, y, m);int d get_days_of_month(y, m);printf(%d\n, d);return 0;
} 这⼀段代码完成了⼀个独立的功能。代码中存在了不少的函数调用 • main 函数调用 scanf 、 printf 、 get_days_of_month • get_days_of_month 函数调用 is_leap_year 稍微大一些代码都是函数之间的嵌套调用但是函数是不能嵌套定义的。 链式访问 所谓链式访问就是将一个函数的返回值作为另外一个函数的参数像链条⼀样将函数串起来就是函数的链式访问。比如
#include stdio.h
int main()
{int len strlen(abcdef); //1.strlen求⼀个字符串的⻓度printf(%d\n, len); //2.打印⻓度return 0;
} 前面的代码写了2条语句如果把strlen的返回值直接作为printf函数的参数呢这样就是⼀个链式访问的例子了。
#include stdio.h
int main()
{printf(%d\n, strlen(abcdef)); //链式访问return 0;
}再看一个有趣的代码下面代码执行的结果是什么呢
#include stdio.h
int main()
{printf(%d, printf(%d, printf(%d, 43)));return 0;
} 这个代码的关键是明白printf函数的返回是啥。 int printf ( const char * format, ... ); printf函数返回的是打印在屏幕上的字符的个数。 scanf() 的返回值是⼀个整数表示成功读取的变量个数https://blog.csdn.net/wait___wait/article/details/135296924 上面的例子中我们就第一个printf打印的是第⼆个printf的返回值第⼆个printf打印的是第三个printf的返回值。 第三个printf打印43在屏幕上打印2个字符再返回2 第⼆个printf打印2在屏幕上打印1个字符再放回1 第⼀个printf打印1 所以屏幕上最终打印4321 期待