设计函数 int atoi(char *s)

 我来答
Yxl_小路路
推荐于2016-11-08 · TA获得超过168个赞
知道答主
回答量:87
采纳率:0%
帮助的人:83.8万
展开全部
#include<string.h>
int atoi(char *s)
{
int i,result=0,length;
length=strlen(s);
if(s[0] == '-') i=1; //若是负数,则从第一个字符开始计数
else i=0; //否则从0号位开始计数
for( ; i < length; ++i)
{
result = result * 10 + s[i] - 48; //48是字符0的ASCII码
}
if(s[0] == '-') return -1 * result;
else return result;
}

已通过编译,可以直接在主函数中调用
mzone616
2008-12-12 · TA获得超过163个赞
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:102万
展开全部
int atoi(const char *ptr)
{int i=0;
int val,result=0;
if(*ptr=='+'||*ptr=='-'||(*ptr>='0'&&*ptr<='9'))
; /*执行空语句*/
else return 0;/*第一个字母不是+ - 或数字字符则返回0*/
if(*ptr=='+'||*ptr=='-')
{ptr++;
if(*(ptr-1)=='-')
i=-1;
}
while(*ptr>='0'&&*ptr<='9')
result=10*result+*ptr++-'0';

return i?-result:result;/*若i的值非0 说明值为复值*/
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式