d****o 发帖数: 1055 | 1 直接把所有的test case都跑一遍过了,代码自然正确。这题难在test case有点儿多。
我先来起个头,大牛可以补充一下没有想到的。
1. error case:有非法字符 "*1a23"
2. error case:都是合法字符,但是顺序不对 "-12-3"
3. error case:都是合法字符,但是顺序不对 "-0123" "00123"
4. error case: 都是合法字符, 但是overflow,overflow分为两种。"
1991112312312312311231" 和 "-1231231231231231243142132"
5. error case: array == NULL
6. 负值: "-123"
7. 0: "0"
8. -0:"-0" //error maybe
9. 正值有两种: "123234" 和 "+12345" |
i**********e 发帖数: 1145 | 2 "2147483647","-2147483648","2147483648","-2147483649"。
这几个 test case 测试你处理溢出的边界条件,很重要。
还有就是前面有空格的 case 吧,例如 " 23" 等。 |
d****o 发帖数: 1055 | 3 为什么是4个?不是一个正值一个负值就可以了吗?
前面有空格可以看做情况1,空格为非法字符。
【在 i**********e 的大作中提到】 : "2147483647","-2147483648","2147483648","-2147483649"。 : 这几个 test case 测试你处理溢出的边界条件,很重要。 : 还有就是前面有空格的 case 吧,例如 " 23" 等。
|
i**********e 发帖数: 1145 | 4 因为要测试边界条件啊,因为你知道 2147483647 没有溢出,而 2147483648 溢出了,
所以测试 positive 溢出就这两个 case 就够了。
negative 溢出也就是其余两个 case. |