函数的嵌套调用和链式访问
- 函数和函数直接可以根据需求进行组合
- 嵌套调用(函数可以嵌套调用但是不能嵌套定义)
int test3() {
printf("hi!");
return 0;
}
int test2() {
test3();
return 0;
}
int main() {
test2();
return 0;
}
运行结果:
-
链式访问:把一个函数的返回值作为另外一个函数的参数
int main() { int len = strlen("abc"); printf("%d\n", len); return 0; }
int main() {
//链式访问
printf("%d\n", strlen("abc"));
return 0;
}
两个程序的运行结果相同都为:3
int main() {
char arr1[20] = { 0 };
char arr2[] = "bit";
strcpy(arr1, arr2);
printf("%s\n", arr1);
return 0;
}
int main() {
char arr1[20] = { 0 };
char arr2[] = "bit";
//链式访问
printf("%s\n", strcpy(arr1, arr2));
return 0;
}
两个程序的运行结果相同都为:bit
int main() {
printf("%d", printf("%d", printf("%d", 43)));
return 0;
}
运行结果:
因为函数返回的是屏幕上的字符的个数,所以当第一个printf返回的是43时,第二个printf接收到的是两个字符,所以返回2,第三个printf则接收到一个字符,所以返回1,所以得到结果:4321