【DS】atoi()实现
2016-04-17 18:45
295 查看
int my_atoi(char* pstr)
{
int Ret_Integer = 0;
int Integer_sign = 1;
/*
* 判断指针是否为空
*/
if(pstr == NULL)
{
printf("Pointer is NULL\n");
return 0;
}
/*
* 跳过前面的空格字符
*/
while(isspace(*pstr) == 0)
{
pstr++;
}
/*
* 判断正负号
* 如果是正号,指针指向下一个字符
* 如果是符号,把符号标记为Integer_sign置-1,然后再把指针指向下一个字符
*/
if(*pstr == '-')
{
Integer_sign = -1;
}
if(*pstr == '-' || *pstr == '+')
{
pstr++;
}
/*
* 把数字字符串逐个转换成整数,并把最后转换好的整数赋给Ret_Integer
*/
while(*pstr >= '0' && *pstr <= '9')
{
Ret_Integer = Ret_Integer * 10 + *pstr - '0';
pstr++;
}
Ret_Integer = Integer_sign * Ret_Integer;
return Ret_Integer;
}
int main()
{
char a[] = "-100";
char b[] = "456";
int c = 0;
int my_atoi(char*);
c = atoi(a) + atoi(b);
printf("atoi(a)=%d\n",atoi(a));
printf("atoi(b)=%d\n",atoi(b));
printf("c = %d\n",c);
return 0;
}
{
int Ret_Integer = 0;
int Integer_sign = 1;
/*
* 判断指针是否为空
*/
if(pstr == NULL)
{
printf("Pointer is NULL\n");
return 0;
}
/*
* 跳过前面的空格字符
*/
while(isspace(*pstr) == 0)
{
pstr++;
}
/*
* 判断正负号
* 如果是正号,指针指向下一个字符
* 如果是符号,把符号标记为Integer_sign置-1,然后再把指针指向下一个字符
*/
if(*pstr == '-')
{
Integer_sign = -1;
}
if(*pstr == '-' || *pstr == '+')
{
pstr++;
}
/*
* 把数字字符串逐个转换成整数,并把最后转换好的整数赋给Ret_Integer
*/
while(*pstr >= '0' && *pstr <= '9')
{
Ret_Integer = Ret_Integer * 10 + *pstr - '0';
pstr++;
}
Ret_Integer = Integer_sign * Ret_Integer;
return Ret_Integer;
}
int main()
{
char a[] = "-100";
char b[] = "456";
int c = 0;
int my_atoi(char*);
c = atoi(a) + atoi(b);
printf("atoi(a)=%d\n",atoi(a));
printf("atoi(b)=%d\n",atoi(b));
printf("c = %d\n",c);
return 0;
}
相关文章推荐
- Java方法参数传递方式总结
- 理解进程调度时机跟踪分析进程调度与进程切换的过程
- Linux:-bash: ***: command not found
- Differences between Octave and MATLAB
- Android TextView 实现文字大小不同和文字颜色不同
- 理解进程调度时机跟踪分析进程调度与进程切换的过程
- Servlet的调用过程_生命周期_继承结构
- 博弈+
- Maven入门系列(二)--设置中央仓库的方法
- Hadoop家族环境搭建各种版本选择
- 剑指offer(十)之矩形覆盖
- 博弈论之取石子游戏的学习
- javascript 前端学习经验总结
- 45.leetcode题目:144. Binary Tree Preorder Traversal
- Android-Sqlite使用手册
- sizeof 是一个关键字
- ZendStudio的配置导出
- Android中的对话框
- hrbust/哈理工oj 1507 水神的栅栏【计算几何+并查集】
- Linux 软件包管理工具 Snapcraft