正确答案: A

6

题目:有以下程序void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5]={0}; a=0; b[0]=3; func(&a,b); rintf("%d\n",b[0]);}程序的运行结果是

解析:本题考查数组作为函数形参与实参的使用。题目给出的程序分为两个部分,一个是函数func,该函数有两个形参,一个为整型的指针a,一个为整型的数组b[],这里的b只是一个形参数组名,与main函数中的数组b没有关系。为了区别,将func函数中的数组b用b’表示。func函数实现的功能是将指针a所指向的整型值*a与6相加,并将结果放入数组b’[0]处。main函数首先对整型数据a和数组b进行初始化,初始化后a的值为0,数组b中第一个值b[0]=3。初始化结束后,对函数func进行调用。应当注意,调用函数func时,是将数组b的数组名作为函数的实参。这样调用的结果就是没有把数组元素的值传递给形参数组,而是把实参数组的起始地址传递给形参,b和b’共占有同一段内存,这样形参数组中的值发生变化也将导致实参数组中的值发生变化。题目中虽然main函数初始化使得b[0]=3,但是在调用func函数的过程中,作为该函数形参的数组b’有b’[0]=*a+6=6,故main函数中的实参数组b[0]值也发生改变,变为6。

查看原题 点击获取本科目所有试题

举一反三的答案和解析:

  • [单选题]一个函数功能不太复杂但要求被频繁调用,应选用
  • 内联函数

  • 解析:解析:本题考查的是内联函数的使用,它的引入是为了解决程序中函数调用的效率问题,在编译时,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体来替换。

  • [单选题]下列关于逻辑运算符两侧运算对象的叙述中正确的是( )。
  • 可以是任意合法的表达式

  • 解析:解析:逻辑运算符两侧的运算对象可以是任意合法的表达式。逻辑表达式的运算结果或者为1(“真”),或者为0(“假”)。

  • [单选题]在编译Java程序时,用于指定生成class文件位置的选项是
  • -d

  • 解析:

     


  • [单选题]下列关于条件语句的描述中,错误的是()。
  • if语句中else if子句和else子句的顺序是没有限制的


  • 推荐下载科目: 计算机二级 计算机三级 Linux认证 JAVA认证 软考高级 软考初级 通信工程师 计算机操作员初级 计算机操作员高级 计算机辅助设计
    @2019-2026 不凡考网 www.zhukaozhuanjia.com 蜀ICP备20012290号-2