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

【c语言】为下面的函数原型编写函数定义,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。

2015-04-02 12:18 1681 查看
/*为下面的函数原型编写函数定义:
int ascii_to_integer(char *str);
这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
如果字符串参数包含了任何非数字字符,函数就返回零。请不必担心算数溢出。
提示:这个技巧很简单:你每发现一个数字,把当前值乘以10,并把这个值和新的数字所代表的值相加*/
#include <stdio.h>
int ascii_to_integer(char const *str)
{
int sum = 0;
int p;
while( *str != '\0' )
{
if( *str >= '0' && *str <= '9' )
{
p = ( int )( *str ) - 48;
sum = sum * 10 + p;
str++;
}
else
return 0;

}
return sum;
}

int main()
{
char *p = "124few";
printf("转换后为:%d\n",ascii_to_integer(p));
return 0;
}



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