详细代码如下:
#include <stdio.h>
#include <string.h>
void NONO();
long fun( char *s )
{
/*
analyse:
遍历整个字符串;
将每个字符转换成整数;
*/
int i , sum = 0 , len;
len = strlen(s);
for(i = 0; i < len; i++)
{
sum = sum * 10 + *s -48; // 把一个数字字符转化为相应的数字,只要用它的ascii码 - 48 即可
s++;
}
return sum;
/* ERROR:
long i,j = 0;
long chang = strlen(s);
for(i = 0; i<chang; i++)
{
s[j++] = s[i] -'0';
}
//s[j] ='\0';
*/
}
void main()
{ char s[10]; long r;
printf("请输入一个长度不超过9个字符的数字字符串 : "); gets(s);
r = fun( s );
printf(" r = %ld\n" , r );
NONO();
}