C语言规定,在一个函数中不能定义另一个函数,但在一个函数中可以调用另一个函数,这就是所谓的函数定义不能嵌套,函数调用可以嵌套。函数的嵌套调用是指在函数a中调用了函数b,而在函数b中又调用了函数c的调用方式。嵌套调用可以是两层,也可以是三层或多层。
【例6.9】m=5时打印出如下所示的图形:
程序内容如下:
1 #include<stdio.h>
2 int pstar(int); //函数声明
3 int pline(int); //函数声明
4 int main()
5 {
6 int m,k=1,i;
7 void print(int); //函数声明
8 printf("m=");
9 scanf("%d",&m);
10 print(m); //函数调用
11 return 0;
12 }
13 void print(int x) //print()函数定义
14 {
15 int i,k=1;
16 for(i=1;i<=x;i++)
17 {
18 k=pstar(k); //函数调用
19 k=pline(k); //函数调用
20 }
21 return;(www.xing528.com)
22 }
23 int pstar(int n) //pstar()函数定义
24 {
25 int i;
26 for(i=1;i<=n;i++)
27 putchar(′*′);
28 putchar(′\n′);
29 return(n+1);
30 }
31 int pline(int n) //pline()函数定义
32 {
33 int i;
34 for(i=1;i<=n;i++)
35 putchar(′#′);
36 putchar(′\n′);
37 return(n+1);
38 }
程序结果如图6.5所示:
图6.5 例6.9程序结果图
请仔细分析函数嵌套调用的执行过程。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。