33-1 嵌套调用
函数和函数之间是可以根据实际的需求进行组合的,也就是互相调用的。
代码示例:
void one_line()
{
printf("hehe\n");
}
void three_line()
{
int i = 0;
for (i = 0; i < 3; i++)
one_line();
}
int main()
{
three_line();
}
运行结果:
注:函数之间可以嵌套调用,但不能嵌套定义
下面的代码就是错误的:
int Add(int x, int y)
{
return x + y;
int Sub(int x, int y)
{
return x - y;
}
}
int main()
{
return 0;
}
33-2 链式访问
链式访问,依赖的是函数的返回值
前提条件:函数必须要有返回值
把一个函数的返回值作为另外一个函数的参数。
int main()
{
int len = strlen("abcdef");
printf("%d\n", len);
//链式访问
printf("%d\n", strlen("abcdef"));
return 0;
}
返回值一样:
测试:下列代码的返回值是多少?
int main()
{
printf("%d", printf("%d",printf("%d",43)));
return 0;
}
啥?竟然是——
为什么捏?
让我们看一下printf的返回值吧:
原来printf返回的是打印字符的个数
先打印43,43是两个字符,所以打印2,2是一个字符,所以打印1,最终结果是:4321