/*这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
如果字符串参数包含了任何非数字字符,函数就返回零。请不必担心算数溢出。
提示:这个技巧很简单:你没发现一个数字,把当前值乘以10,并把这个值和新的数字所代表的值相加。
*/
#include<stdio.h>
#include<stdlib.h>
#define N 100
int ascii_to_integer(char *str)
{
int count=0;
while(*str!='\0')
{
if(*str>'0' && *str<'9')
{
count=count*10+*str-'0';
}
str++;
}
return count;
}
void main()
{
int Number=0;
char *str=NULL;
printf("请输入字符串\n");
str=(char*)malloc(N*sizeof(char*));
scanf("%s",str);
Number=ascii_to_integer(str);
printf("Number=%d\n",Number);
}