您的位置:首页 > 编程语言 > C语言/C++

C语言 为下面的函数原型编写函数定义:int ascii_to_integer(char *str)

2015-04-04 09:51 471 查看
为下面的函数原型编写函数定义:
int ascii_to_integer(char *str);
这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数包含了任何非数字字符,函数就返回零。请不必担心算数溢出。
提示:这个技巧很简单:你每发现一个数字,把当前值乘以10,并把这个值和新的数字所代表的值相加。字符指针减去‘0’即将其对应的ASCII码值转换为整型。

#include <stdio.h>
int ascii_to_integer(char *str)
{
int i=0;
int m=0;
int sum=0;
char *ch = str;
while(*ch != '\0')
{
if(*ch<48 || *ch>57)    //判断字符是否是数字
return 0;
i++;
ch++;
}
ch=str;
for(;m<i;m++)
{
sum=sum*10+(*(ch+m)-'0');   //减'0'就是将ASCII转换为整形
}
return sum;
}
int main()
{
char *str="123";
int n;
n=ascii_to_integer(str);
printf("%d\n",n);
return 0;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐