C语言,有以下说明和定义,则对fun函数的正确调用语句是()

2024-12-03 12:58:01
推荐回答(5个)
回答1:

答案是B
其中的b是一个函数的声明,声明了一个返回值为int * 的函数b。所以b是不能作为指针使用的,因此C是错误的。

回答2:

5 C语言,有以下说明和定义,则对fun函数的正确调用语句是(B)这个英语单词应该是在里面宣布,不知道这样可不可以帮到你,如果错了的话希望你谅解。

回答3:

对的,这是c语言的专业编程知识。

回答4:

你去相关论坛里问问去

回答5:

个人答案:A
首先看main函数中的定义,int (*a)(int*),这里定义了一个函数指针a,即返回值是int型,参数为int*这样一种函数类型的指针。你的fun函数应该返回的是int型,这样的话,我们来看下这几个答案:
(A) a既然是函数指针,那么要给它赋值才能使用,赋值的时候函数的类型一定要匹配,那么就要给a赋一个返回值为int型,参数为int*型的函数指针,fun 正是这样的函数,所以 a=fun没有问题。调用的时候,这个时候a和fun就是一样的了,调用的时候把fun换成a就行了,但是传给a的参数应该是int*型的,这里面的w是一个整型数组名,也代表了首元素的地址,即w=&w[0],是int*型,所以将w传给函数a没有问题。
(B) a=fun没有问题,参数传递也没有问题,只是调用的时候不用*a,直接a就行了。
(C) int *b(),这样看的话,b是一个返回值为int*,参数为空的函数,赋值的时候就不对了
(D) b既然是函数,怎么能传给fun的int*型参数呢