在函数调用过程中,如果函数fun A调用了函数fun B,函数fun B又调用了函数fun A,则A.称为函数的直

题目

在函数调用过程中,如果函数fun A调用了函数fun B,函数fun B又调用了函数fun A,则

A.称为函数的直接递归调用

B.称为函数的间接递归调用

C.称为函数的循环调用

D.C语言中不允许这样的递归调用

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序的主函数中调用了在其前面定义的fun函数

#include<stdio.h>

main()

{ double a[15],k;

k=fun(a);

.

.

.

}

则以下选项中错误的fun函数首部是

A.double fun(double a[15])

B.double fun(double *a)

C.double fun(double a[])

D.double fun(double a)


正确答案:D
解析:从主函数中调用fun函数的实参可以看出,形参应该是一个地址,不能省略前面的*号,D)选项的形参为一个double的值,所以不正确。

第2题:

若主函数中有定义语句:int a[10],b[10],c;,在主函数前定义的fun函数首部为:void fun(int x[ ]),则以下选项中错误的调用语句是( )。

A.fun(b);

B.fun(&c);

C.fun(&a[3]);

D.fun(b[11]);


答案:D 
解析:fun函数的形式参数为一个数组,需要实参为一个地址,而b[11]是一个整型元素,参数类型不一致,且b[11]已经溢出,所以D项错误。 

第3题:

若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的正确方法是( )。

A.(*p)fun(x,y);

B.*pfun(x,y);

C.(*p)(x,y)

D.*p(x,y)


正确答案:C

第4题:

设已定义下面的fun函数,则()是对fun函数正确调用。 void fun(int x) { ....... }

A.m=fun(5);

B.fun();

C.fun(5);

D.printf("%d",fun(5));


D)fun(32,32);

第5题:

试题31

以下程序的主函数中调用了在其前面定义的fun函数

#include <stdio.h>

main()

{ double a[15], k;

k=fun(a);

}

则以下选项中错误的fun函数首部是()

A.double fun(double a[15])

B.double fun(double *a)

C.double fun(double a[])

D.double fun(double a)


正确答案:D
试题31分析
a是数组名,其值不能改变,不能用作变量。
试题31答案
D

第6题:

在函数调用过程中,如果函数A调用了函数B,函数B又调用了函数A,则


正确答案:B

第7题:

若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数 fun的方法是______。


正确答案:(*p)(xy)。
(*p)(x,y)。 解析: 一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向读函数。然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为“函数指针变量”。函数指针变量定义的一般形式为:类型说明符(*指针变量名)();其中“类型说明符”表示被指函数的返回值的类型。“(*指针变量名)”表示“*”后面的变量是定义的指针变量。最后的空括号表示指针变量所指的是一个函数。

第8题:

设在主函数中有以下定义和函数调用语句,且fun函数为void类型。请写出函数fun的头部,要求函数的形参为变量b。main(){ double s[10][22]; int n; …… fun(s); ……}


正确答案:void fun(double * b)
数组名是地址值,它通常可以作为指针使用,题中有被调用函数fun(s),而s为double型数组名,所以函数fun的形参类型为double *。

第9题:

若有以下数组定义和函数调用,则函数fun的原型为:int a[3][4] = {1}; fun(a);

A.fun(int a[][4]);

B.fun(int a[][]);

C.fun(int a[]);

D.fun(int a[3][]);


fun(int a[][4]);

第10题:

c语言程序中,函数调用表达式为:fun(fun(a,b),c),则函数fun带3个参数。


【解析】题目要求写出程序实现数学表达式的功能,需要用for循环计算累加的结果,调用sqrt函数实现求平方根。循环变量的范围是1~m,每次循环都进行一次累加求和。需要特别注意的是,log函数的形式参数为double型变量,用于循环的计数变量为整数,所以必须强制转换。最后返回所求出的平方根。