博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
B00005 函数atoi()(去空格,带符号)
阅读量:6702 次
发布时间:2019-06-25

本文共 940 字,大约阅读时间需要 3 分钟。

这是一个通用的基础程序,将数字字符串转换为整型数。

这个程序会去掉字符串开始的空格,并且能够转换带符号的整数。

该程序来自K&C的《C程序设计语言》一书。

程序如下:

/* 带符号的atoi,跳过前面的空格 */#include 
#include
int atoi(char s[]){ int n; int i; int sign; for(i=0;isspace(s[i]);i++) ; sign = (s[i]=='-')? -1:1; if(s[i] =='+'||s[i]=='-') i++; for(n=0;isdigit(s[i]);i++) n = n*10 + s[i]-'0'; n = sign * n; return n;}int main(void){ printf("%d\n", atoi(" 356")); printf("%d\n", atoi(" 1234567")); printf("%d\n", atoi(" -356")); printf("%d\n", atoi(" -1234567")); return 0;}
关键代码:

#include 
int atoi(char s[]){ int n; int i; int sign; for(i=0;isspace(s[i]);i++) ; sign = (s[i]=='-')? -1:1; if(s[i] =='+'||s[i]=='-') i++; for(n=0;isdigit(s[i]);i++) n = n*10 + s[i]-'0'; n = sign * n; return n;}

运行结果:

356

1234567
-356
-1234567

转载于:https://www.cnblogs.com/tigerisland/p/7564859.html

你可能感兴趣的文章
MySQL数据库备份之复制
查看>>
好消息:我最新制作的Java视频教程在51cto网站和Java爱好者们见面了!
查看>>
易宝典文章——用ISA 2006标准版发布Exchange 2010的OWA系列之绑定Excha
查看>>
最近在研究 PLC机器 的 MODBUS RTU 通讯协议与C# 交互
查看>>
程序员娶妻子的经典准则
查看>>
谈开发同学的独立性和测试同学的独立性
查看>>
国内各大互联网公司相关技术站点2.0版
查看>>
「C语言回顾之旅」第二篇:指针详解进阶
查看>>
Samba的配置
查看>>
“未能从策略 Default Domain Policy 中删除应用程序 Microsoft Office Professional Plus 2010”错误解决...
查看>>
ubuntu 12.04 nginx+ mono-fastcgi-server
查看>>
CloudStack 实现VM高可用特性
查看>>
6425C-Lab8 使用组策略管理安全性(1)
查看>>
Dense Mode & Sparse mode(密模式与疏模式)
查看>>
【点评】运维工程师的职责和前景 【第一次编辑】
查看>>
smarty配置以及变量调节器详解
查看>>
rman备份恢复命令之switch
查看>>
技术合作 索尼腾龙联手申请镜头专利
查看>>
关于 MySQL 8.0 新特性“隐藏索引”的一点思考
查看>>
使用Spring Data Redis操作Redis(二)
查看>>