计算机学院保研复试题目,电子科大计算机学院2012届保研复试

电子科技大学 计算机学院 2012年 保研复试题目,绝对真实

一、程序改错:说明程序的错误原因并改正.(共20分)

1.下面程序段的功能是交换两个字符数组的内容(每个字符串字符数均不超过100).(8分) void StrSwap(char *pa,char *pb)

{

char *temp;

temp = pa;//strcpy(temp,pa);

pa = pb;

pb = temp;

}

该程序中pa,pb两个字符指针变量只是形式参数,刚开始pa指向数组pa[100]的的首元素,指向pb[100]首元素;交换后pa指向数组pb[100]的的首元素,指向pa[100]首元素;而且该程序段运行结束后pa,pb两个变量由内存回收,因此最后两个字符数组的内容没有改变。 改正:

void copy(char *pa,char *pb)

{

while(*pb!=0)

{

*pa=*pb;

pa++;

pb++;

}

*pa=0;

}

void StrSwap(char *pa,char *pb)

{

char temp[100];

copy(temp,pa);

copy(pa,pb);

copy(pb,temp);

}

2.程序段如下.(12分)

char a*+ = “House”;

char *b = “House”;

//b*2+ = ‘r’; //不能对字符常量赋值

a*2+ = ‘r’;

b = a;

b*2+ = ‘r’;

//a = b; a是一个地址常量,不能把地址赋给一个常量

二、简答题

1.下面程序中,arr[]、numb、item分别是整型数组、数组元素个数、某一整数,程序功能是遍历数组arr,查找与item相等的元素,并输出该元素的下标。但是此程序不严谨,请问它可能导致什么样的异常结果?为什么?(5分)

for(numb = 0;arr[numb] != item;numb --);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值