问题 问答题

使用VC6打开考生文件夹下的工程RevPrroj7。此工程包含一个源程序文件 RevMain7.cpp。在该文件中,函数fun()的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII码值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如:若a中的字符串为aBCDeFgH,b中的字符串为ABcd,则c中的字符串为 aBcdeFgH。
请改正程序中的错误,使它能得到正确结果。
注意,不要改动主函数,不得删行或增行,也不得更改程序的结构。
源程序文件RevMain7.cpp中的程序清单如下:
//RevMain7.cpp
#include<iostream>
#include<string>
using namespace std;
void fun(char *p,char *q,char *c)

int k=1;
while(*p!=*q)

if(*p<*q)
c[k]=*q;
else
c[k]=*p;
if(*p)
p++;
if(*q)
q++;


int main()

char a[10]="aBCDeFgH",b[10]="ABcd",c[80]=’\0’;
fun(a,b,c);
cout<<"The string a is "<<a<<’\n’;
cout<<"The string b is "<<b<<’\n’;
cout<<"The string c is "<<c<<endl;
return 0;

答案

参考答案:
正确的fun()函数为:
void fun(char *p,char *q,char *c)
{
int k=0;
while((!*p)&&(!*q))
{
if(*p<*q)
c[k]=*q;
else
c[k]=*p;
if(*p)
p++;
if(*q)
q++;
k++;
}
}

解析: 此题中主函数没有错误。其错误全部集中在函数fun()中。分析函数fun():
①整数k用来记录字符串c的偏移,因此k初始值应该为0。
②循环结束的条件应该是两个字符串指针都已经移到字符串尾部。
③在while循环体中,k值应该递增。

多项选择题
问答题


甲男、乙男本是同厂工人,因单位年轻人较少,两人兴趣爱好相近,遂成为好友。后来因为同时喜欢上丙女而反目。一日甲、乙二人因故争吵,继而大打出手。甲身强力壮,用木棍、砖块等将乙砸伤,乙因呼吸困难被人送入医院,经医生诊断为多根肋骨骨折。乙遂请求公安机关追究甲的刑事责任,公安机关认为这是斗殴事件,情节轻微,不构成犯罪,不予立案。乙不服,向县人民法院提起自诉。人民法院受理案件后,乙要求对自己的伤势进行医学鉴定。县人民法院遂欲聘请公安机关的法医丁作为鉴定人对乙的伤势进行鉴定,但甲YAT专业水平不高、实际经验不足为由,申请丁回避。该申请被驳回后,丁通过鉴定得出结论:认为乙构成轻伤。甲对此鉴定结论有争议,申请重新鉴定,人民法院准许。同时,乙对甲提起附带民事诉讼。就在此后的第三天,甲脱逃,致使本案无法继续审理。两个月后,甲被抓获归案。县人民法院于同年7月作出一审判决,以故意伤害罪判处被告人甲有期徒刑2年,缓刑3年,并赔偿乙医药费和护理费共3 000元。宣判后,自诉人乙不服一审判决,提起上诉。中级人民法院认为原判决认定事实不清、证据不足,裁定撤销原判,发回原审人民法院重新审判。原一审人民法院重新审理后,改判甲有期徒刑2年,并赔偿乙医药费和护理费共5 000元。甲对此判决不服,上诉于中级人民法院。二审法院在审理过程中,甲就附带民事部分提出反诉。

在二审审理过程中,甲就附带民事部分提出反诉,二审法院应当如何处理