首页 > 试题广场 >

以下程序,在横线处应填入的内容是?

[单选题]

以下程序调用fun 函数后输出数组中最大值及对应元素的下标。

#include <stdio.h>
void fun(int *s, int n, int *k) {
    int i;
    for (i = 0, *k = i; i < n; i++)
        if (s[i] > s[*k])
            ________;
}

int main() {
    int a[5] = {1, 6, 2, 8, 0}, k;
    fun(a, 5, &k);
    printf("%d %d\n", k, a[k]);
}



在横线处应填入的内容是?

  • *k = i
  • k = i
  • *k = i - s
  • k = i - s
   for循环的执行顺序用如下表达式:
for(expression1;expression2;expression3)
 {   
            expression4;
 }
      执行的顺序应该是:
1)第一次循环,即初始化循环。
      首先执行表达式expression1(一般为初始化语句);再执行expression2(一般为条件判断语句),判断expression1是否符合expression2的条件;如果符合,则执行expression4,否则,停止执行;最后执行expression3。

    
2)第N(N>=2)次循环
      首先执行expression2,判断在expression3是否符合在expression2要求;如果符合,则继续执行在expression4,否则,停止执行。最后执行在expression3。如此往复,直至expression3不满足在expression2条件是为止。
发表于 2016-06-12 11:16:12 回复(0)
更多回答
推荐
邪头像
fun函数的功能是求数组中最大值所在元素的下标。通过for循环语句,每次将最大的数给﹡k ,即﹡k = i。因此A选项正确。
编辑于 2015-02-03 17:48:34 回复(0)
数组的下标的位置还可以存放指针???
发表于 2021-11-28 16:10:04 回复(0)
间接赋值是指针存在的最大意义!
发表于 2018-08-23 15:24:03 回复(1)
vs.编译不过,求解释*k=i的for里
发表于 2017-03-14 16:41:13 回复(0)
输出语句中第一个输出的既然是整数,为什么直接给了p指针?不应该是*p吗?就我看出这个问题了吗?兄弟们,你们应该也看出来了吧
发表于 2019-06-20 14:36:54 回复(1)
第一次 i=0  *k =0  s[i]=1  s[*k]=1  *k不变
第二次 i=1  *k =0  s[i]=6  s[*k] =1  *k=1
第三次 i=2  *k =1  s[i]=2  s[*k]=6  *k不变
第三次 i=3  *k =1  s[i]=8  s[*k]=6  *k=3
第四次 i=4  *k =3  s[i]=0  s[*k]=8  *k不变
最大值的下标为*k=3, 最大值为s[*k]=8

找最大最小值,做的多了发现都是套路
编辑于 2016-09-08 00:16:02 回复(1)
这个最重要的理解就是地址与数据:*p表示的是p地址下的数据(比如一个字符串abc),p表示的是该地址的地址(比如0x00456),如果要存数据,应该写成*p=数据,如果是要改地址:p=0x00124
发表于 2022-11-21 20:37:52 回复(0)
我就想知道输出的啥???我都不知道输出什么我怎么知道填什么,就1/2的概率,哎,牛客题目的质量很差啊
发表于 2018-08-27 21:07:59 回复(0)
这道题真能跑出来要的结果吗?循环里面的条件*k = i,不是每时刻都与i相等吗?所以虽然做对了,但还是觉得这程序有问题
发表于 2023-05-17 12:29:41 回复(1)
我的看法是 将k作为一个储存最大下标的盒子传到函数中去 加上*的原因是 因为如果不将k的地址传过去 那么再函数中被改变的k值无法传回main函数中 因为如果不传地址 那么k作为局部变量在离开fun函数时数据就被销毁了 而printf函数打印时是接受被打印元素的地址而进行打印的 
fun函数运行结束后 *k=i(最大下表数)两边同时取地址&*k=&i --> k=&k 说明k中就存储了最大下标数i的地址 。新手拙见 有错误之处见谅
发表于 2022-04-22 17:19:19 回复(0)
对于指针运算取地址理解不到位
发表于 2021-04-25 19:54:34 回复(0)
手工过程要细心
发表于 2017-03-20 16:02:22 回复(0)