首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。 #include void f(int b[], int n, int flag) { int i,j,t; for (i=0; i<n-1; i
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。 #include void f(int b[], int n, int flag) { int i,j,t; for (i=0; i<n-1; i
admin
2015-07-31
99
问题
以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序。
#include
void f(int b[], int n, int flag)
{
int i,j,t;
for (i=0; i<n-1; i++)
for (j=i+1; j<n; j++)
if (flag ? b
>b[j] : b
<b[j])
{ t=b
; b
=b[j]; b[j]=t; }
}
main()
{
int a[10]={5,4,3,2,1,6,7,8,9,10}, i;
f(&a[2], 5, 0);
f(a, 5, 1);
for (i=0; i<10; i++)
printf("%d,", a
);
}
程序运行后的输出结果是( )。
选项
A、1,2,3,4,5,6,7,8,9,10,
B、3,4,5,6,7,2,1,8,9,10,
C、5,4,3,2,1,6,7,8,9,10,
D、10,9,8,7,6,5,4,3,2,1,
答案
B
解析
本题重点考察函数的参数传递,函数的参数传递分为传值和传地址两种情况。本题就是结合数组考查参数传递的情形。解析:函数f完成的功能是对数据进行排序,语句f(&a[2],5,0)的作用是对从a[2]开始的5个元素进行从大到小排序。注意:这里传递的是地址&a[2],所以排序操作可看作是直接对数组a操作,执行后的结果为5,4,7,6,3,2,1, 8,9,10。语句f(a,5,1)对数组a的前5个元素从小到大排序,排序后数组为:3,4,5,6,7,2,1, 8,9,10。因此B选项正确。
转载请注明原文地址:https://www.kaotiyun.com/show/4nDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下数组定义中不正确的是______。
若有以下定义和语句:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;则值为3的表达式是______。
下列程序的运行结果是()。#include<stdio.h>main(){inta=0,b=4,c=0,d=10,x;if(a)d=d-10;else
若有定义语句chars[100],d[100];intj=0,i=0;且s中已赋字符串,请填空以实现拷贝。(注:不使用逗号表达式)while(s[i]){d[j]=【】;j++;}d[j]=0;
注释说明了程序的功能,它分为【】注释和功能性注释。
关于结构化程序设计原则和方法的描述错误的是()。
下列不属于C语言关键字的选项是()。
度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为______。
设有变量说明int(*p)[m],其中的标识符p是()。
在C语言中,while和do…while循环的主要区别是______的循环至少被执行一次。
随机试题
下列各项中,不属于具体审计计划内容的是()。
卡诺图中,把2个相邻项合并,能够消除的变量个数为【】
Amongallthefastgrowingscienceandtechnology,theresearchofhumangenes,orbiologicalengineeringaspeoplecallit,is
女性,58岁。乙肝病史30年,低热伴肝区隐痛4个月。查体:肝肋下4cm,剑突下6cm,移动性浊音阴性。彩超示肝右前叶可见4cm×3cm实体性肿物,边缘不清;肝功能:Tbil30p.mol/L,Alb32g/L;AFP480/μg/L;FI、14.9秒。
A.苯妥英钠B.射频消融术C.安装人工心脏起搏器D.非同步直流电复律E.同步直流电复律非洋地黄中毒引起的阵发性室性心动过速,用药治疗无效时应采用的方法是()
供给的变动引起()。
消费者偏好决定了无差异曲线的()。
颐和园的苏州街主景为两岸起伏的山石和美丽的林带所夹峙,构成了妩媚动人的景色,这是一种()手法。
皮内注射法的进针角度为()。
下列没有歧义的一句是:
最新回复
(
0
)