Exercise 1测试

此篇博客旨在测试Exercise 1,发现其中问题并解决。

首先,我们使用codeblocks对Exercise 1进行编译。结果如下:

可以发现经编译后的Exercise 1并无编译错误,只有两个warning,所以我们先不管warning内容,测试其功能

所以,我们来分析代码部分:

 

char buff[10];此行代码定义了一个10位的字符数组,所以我们要在测试时考虑输入内容:

1.为空

2.不为空但是小于十个字符

3.十个字符

4.大于十个字符

 

memset(buff,0,sizeof(buff));此行代码将buff指向的内存中设为空,即将buff数组设为空。

 

gets(buff);gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取。此时就要考虑是否会溢出的现象。

printf("\n The buffer entered is [%s]\n",buff);打印buff中的内容到屏幕上。

此时我们准备几个测试用例:

1.null

2.a

3.a123@

4.A123@#$456

5.123456789123

分别进行测试

1.测试结果如下

无问题

2.测试结果如下

无问题

3.测试结果如下

无问题

4.测试结果如下

无问题

5.测试结果如下

 

发生报错无法运行 我们可以发现原因为数组溢出,根据实际情况我们可以选择是使用动态数组,还是规定输入字符位数解决问题

此时我们再回头看看两个warning

 

此为隐式申明函数的警告,索命memset这个函数没用在包含的头文件中进行声明,解决办法为添加头文件string.h



 

转载于:https://www.cnblogs.com/shuhaoz/p/4338135.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值