考虑测试用例:
1、功能测试(输入的字符串表示正数、负数和0)。
2、边界值测试(最大的正整数和最小的负整数)。
3、特殊字符的输入(NULL、字符串中含有非法字符)。
#include<iostream>
using namespace std;
const int invalid =0;
const int valid = 1;
int status = valid;
int strtoint(const char* string)
{
status = invalid;//用来区分返回num=0时是非法输入还是输入的是'0'.当status为invalid是表示为非法输入,当为valid时是输入的是0.
long long num = 0;
if(string != NULL && string!='\0')
{
bool flag = true;
if(*string == '+')
{
string++;
}
else if(*string == '-')
{
flag = false;//说明输入是负数
string++;
}
if(*string!='\0') //当仅输入的是‘+’、‘-’号是为非法输入。
{
int sign = flag ? 1:-1;
while(*str