C语言,有以下说明和定义,则对fun函数的正确调用语句是()
答案是什么???求详细解答*b()也是一个函数,所以这个b=fun:*b(w);对不对????main(){int(*a)(int*),*b(),w[10],c;┆}fu...
答案是什么???求详细解答 *b()也是一个函数, 所以这个 b=fun: *b(w); 对不对????
main() { int (*a)(int*), *b(), w[10],c;┆ } fun(int *c) {┅}(A)a=fun: a(w); (B) a=fun: (*a)(&c);〃 (C) b=fun: *b(w); (D) fun(b); 展开
main() { int (*a)(int*), *b(), w[10],c;┆ } fun(int *c) {┅}(A)a=fun: a(w); (B) a=fun: (*a)(&c);〃 (C) b=fun: *b(w); (D) fun(b); 展开
展开全部
5 C语言,有以下说明和定义,则对fun函数的正确调用语句是(B)这个英语单词应该是在里面宣布,不知道这样可不可以帮到你,如果错了的话希望你谅解。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对的,这是c语言的专业编程知识。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你去相关论坛里问问去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
个人答案: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*型参数呢
首先看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*型参数呢
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询