s73套调用 函数不能嵌套定义,但可以嵌套调用。 main a() b() 调用在 调用b c語醒设计
§7.3 嵌套调用 函数不能嵌套定义,但可以嵌套调用。 a( ) { : : 调用b : : } b( ) { : : : : : } main { : : 调用a : : }
例1:/*-xp81.c-* #include <stdio. h int fun (int x, int y) char fun(int t) int a b main() i int u a=24;b=42; printf("main(1)----a=%d, b=%dn,a, b); -fun1(a, b) printf ("main(2)----a=%d, b=%d, u=%dn",a,b, u) c語醒设计
例1:/*---exp81.c---*/ #include <stdio.h> int fun1(int x, int y); char fun2(int t) int a, b; main( ) { int u; a=24; b=42; printf("main(1)----a=%d, b=%d\n", a, b); u=fun1(a, b); printf ("main(2)----a=%d, b=%d, u=%d\n", a, b, u); }
int funI(int c, int y) Int z char ch z=X+ y ch=fun2(z) printf("funl-------ch=%ocn",ch) return(z) char fun2(int t) t=a+b printf("fun2-------t-=%d, t=%ocn",t, t) return(z) c語醒设计
int fun1 (int c, int y) { int z; char ch; z=x+y; ch=fun2(z); printf("fun1-------ch=%c\n", ch); return(z); } char fun2(int t) { t=a+b; printf("fun2-------t=%d, t=%c\n", t, t); return(z); }
运行结果: main(1)--a=24,b=42 fun -t=66.t=B funl--------ch=B main(2)-a=24,b-42,u=66 c語醒设计
运行结果: main(1)----a=24, b=42 fun2--------t=66, t=B fun1--------ch=B main(2)----a=24, b=42, u=66
例2:用弦截法求方程的根 x35x2+16x-80=0 方法如下 (1)取两个不同点x1、x2如果f(x1)和f(x2)符号 相反,则(x1,x2)间内必有一个根。如果fx1) 与f(x2)同符号,则应改变ⅹ1、x2,直到f(x1) f(x2)异号为止。注意x1、x2的值不应差太大 以保证(x1,x2)区间只有一根 c語醒设计
例2: 用弦截法求方程的根。 x 3–5x2+16x–80=0 方法如下: (1) 取两个不同点x1、x2 ,如果 f(x1 )和 f(x2 )符号 相反,则(x1 ,x2 )区间内必有一个根。如果 f(x1 ) 与f(x2 )同符号,则应改变 x1、x2,直到 f(x1 )、 f(x2 )异号为止。注意x1、x2的值不应差太大, 以保证(x1 , x2 )区间只有一根