首页 > 试题广场 >

下列程序的功能是输出 a 和 b 中的最大值,请为横线处选择

[单选题]
下列程序的功能是输出 a b 中的最大值,请为横线处选择合适的程序()

#include <stdio.h>

int *fun(int *i, int *j) { return ((*i > *j) ? i : j); }
void main() {
    int a, b;
    scanf("%d, %d", &a, &b);
    int *k = &a;
    int *t = &b;
    ____ = fun(k, t);
    printf("%d\n", *k);
}


  • k
  • &k
  • *k
  • K+t
推荐
A
考察的是指针函数,即指带指针的函数,即本质是一个函数,函数返回类型是某一类型的指针
格式:类型标识符 *函数名(参数表)
函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量,题目中k被声明为一个指针变量。
编辑于 2019-12-27 14:18:30 回复(0)
aa
发表于 2017-04-18 20:29:32 回复(0)
选择A。 fun函数返回的是个指针变量,所以左边也应该是个指针变量,用来接收较大值的指针式,由于最后输出函数输出的是k指针指向的数,所以这里填写k指针。
发表于 2019-12-26 14:37:02 回复(2)
A
fun函数返回类型是指针变量,所以____=fun(k,t);左边也应该是个指针变量,用来接收较大值的指针。
因为程序功能是输出 a  b 中的最大值,且最后输出函数输出的是k指针指向的数,所以这里填写k。因此选A。
发表于 2019-12-26 18:38:47 回复(0)
我是真瞎
发表于 2020-04-05 09:02:05 回复(0)
调用的函数返回的类型是一个指针,所以需要用指针去接收返回值
发表于 2023-04-06 22:19:36 回复(0)
a
发表于 2017-04-22 14:52:22 回复(0)
为什么我第一想法是用二级指针接收一级指针
发表于 2023-10-24 10:04:35 回复(0)
发表于 2025-09-11 19:00:36 回复(0)