软通python编程题_软通动力笔试(带参考答案)

答案仅供参考

一、改错题

1.

找出以下两处逻辑错误(非编程规范)并改正

char* getErrorString(int errcode)

{

char errorString[] = "not exist";

char errorString2[] = "not available";

switch(errcode) {

case 1:

return errorString;

case 2:

return errorString2;

default:

return NULL;

}

}

void printErrorString(int errcode)

{

char *errorString = getErrorString(errcode);

printf("errcode:%d, errorString:%s\n", errcode, errorString);

}

case1

case2

返回了两个局部变量指针,而局部变量在函数结束后将自动释放。

改正:将字符数组改为指针

char *errorString= "not exist";

char *errorString2 = "not available";

2.

以下是输出“

welcome home

”的程序,找出逻辑错误(非编程规范)并改正

const int MAX_STR_SIZE = 12;

int main(int argc, char *argv[])

{

char str[MAX_STR_SIZE];

strcpy(str,"welcome home");

printf("%s", str);

return 0;

}

welcome home

字符串应该是

13

个字节,而

str

字符数组只能存储

12

个字符

改正:

const int MAX_STR_SIZE = 13;

二、程序填空题

1.

写出

String

类的构造函数,析构函数和赋值函数

class

String

{

public

:

String(

const

char

*str = NULL);

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

weixin_39687468

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值