为下面这个函数原型编写函数定义:
int ascii_to_integer(char *string);
这个字符串参数必须包含一个或多个数字,函数应该把这些数字字符转化为整数并返回这个整数。如果这个字符串参数包含了任何非数字字符,函数就返回零。
请不必担心算数溢出。
提示:这个技巧 很简单————你每发现一个数字,把当前值乘以10,并把这个值和新数字所代表的值相加。
//*************************************************************************************************************************
#include<stdio.h>
int ascii_to_integer(char *string);
int main()
{
char string[] = "123";
printf("%d\n", ascii_to_integer(string));
return 0;
}
int ascii_to_integer(char *string)
{
int val = 0;
char *p = NULL;
p = &string[0];
while (*p >= '0'&&*p <= '9') {
val *= 10;
val += *p - '0';
p++;
}
if (*p != '\0') {
return 0;
}
return val;
}