正确答案: B

and

题目:有如下程序段#include "stdio.h"#include "string.h"#define N 10#define M 10char *find(char(*a)[M],int n){ char *q;int i; q=a[0]; for(i=0;i<n;i++) if(strcmp(a[i],q)<0)q=a[i]; return q;}main(){ char s[N][M]={"tomeetme","you","and","he","china"}; char *p; int n=5; p=find(s,n); puts(p);}则执行后输出的结果为

解析:在本题中,首先定义了两个宏N和M,大小都为10,然后定义了一个返回指针的函数find,该函数带有两个形参,第一个为字符型的指针数组,第二个为整型变量,在函数体中,首先定义了一个指针变量q,并将形参中指针数组的第一个元素赋值给q,然后执行for循环,在循环体中,首先执行条件判断语句,其条件为strcmp(a[i],q)<0(strcmp函数的作用是比较两字符串的大小,如果相等,则返回0值,如果参数中的第一个字符串大,则返回正值,否则返回负值),如果结果为真,说明指针数组当前元素所指向的字符串比q所指向的字符串小,此时,程序执行将当前指针数组元素赋值给p,最后返回p,通过上面的分析我们可以看出,find函数的作用是找出指针数组中各元素所指向字符串的最小字符串。

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

举一反三的答案和解析:

  • [单选题]若为Fraction类重裁前增1运算符++,应在类体中将其声明为( )。
  • friendFraction&operator++( ):

  • 解析:C。【解析】声明必须以友元friend开头。为了区分,用++表示前自增,用++(int)表示后自增。

  • [单选题]在窗体上画1个名称为Command1的命令按钮,然后编写如下事件过程
  • 15


  • [单选题]设a=5,b=6,c=7,d=8,则执行下列语句后,x的值为 ______。 x=IIF((a>B)And(cd),10,20)
  • 20

  • 解析:解析:函数пF(expr,vall,val2)与IF语句相似,当布尔表达式expr为True时,则选择vall的值,否则选择val2的值。

  • [单选题]执行语句for(i=1;i++4;) ;后,变量i的值是
  • 5

  • 解析:解析:for语句中的表达式可以部分或全部省略,但两个“;”不能省略,若3个表达式均省略,会因为缺少条件判断,导致循环无限执行,而形成死循环。本题中当i的值为5的时候,循环终止。

  • [单选题]以下哪个选项定义了10个整型数构成的数组,数组元素为NewArray(1)至NewArray(10)
  • Dim NewArray(1 To 10)As Integer

  • 解析:解析:A)选项定义了11个整型数构成的数组,C)选项和D)选项语法错误。

  • [单选题]没有如下程序
  • 7

  • 解析:解析:本题需要注意区分Do Until....Loop语句和Do…Loop Until语句。后者为后判断条件的循环语句,无论初始条件是否满足都至少执行一次循环,当条件满足时跳出循环。

  • [单选题]在窗体上画一个命令按钮,然后编写如下程序: Function funl(ByVal Bum As Long)As Long Dim k As Long k = 0 Bum=Abs(Bum) Do While Bum k=k+(Bum Mod 10) Bum=Bum\10 Loop fun1=k End Function Private Sub Command1_Click() Dim n As Long n=InputBox("请输入一个数") Print fun1(n) End Sub 程序运行后,单击命令按钮,在对话框中输入234,输出的结果为
  • 9

  • 解析:解析:变量n接受234值后,通过调用函数过程fun1,实参与形参结合后传送给形参变量Bum。在函数的计算过程中,Bum的值234从个位至百位数被分解得4、3、2,然后计算4+3+2=9,其结果给变量k,函数过程运行结束后再由k赋值给函数过程名funl,最后打印结果为9。

  • 推荐下载科目: 计算机四级 微软认证 思科认证 JAVA认证 华为认证 计算机一级 职称计算机 通信工程师 计算机操作员中级 LTE认证
    @2019-2026 不凡考网 www.zhukaozhuanjia.com 蜀ICP备20012290号-2