在字符串中找出第一个数字
ball648500361:
验证通过版本
其中两个问题
1. Num[8]需要初始化为0才可以
2.reval的值本身为-1 后面的+=操作必须先把reval清零
static int findNum( const char* str)
{
char Num[8]={0,0,0,0,0,0,0};
int i = 0;
int reval = -1;
const char* p = str;
while ( *p && ((*p > '9') || (*p < '0'))) p++;
if ( *p ) {
while (*p ('0'-1) ) {
Num[i++]= *p++;
}
}
else {
return reval;
}
//rt_kprintf("\r\n==Num[8]=%s=\r\n",Num);
if ( strlen(Num) == 0 ) { return reval; }
reval=0;
for ( i = 0; i < 8 && Num[i] != 0; i++ ) {
reval += (Num[i]- '0')*10;
}
return reval;
}
|