我想实现一个函数传入一个数组,在函数内部进行数据提取,把提取的数字进行整合成一个整数,并把结果返还给函数.
但是我编写的方法存在返回的结果多出02数字.
请求高手帮忙分析一下,或者分享一个,非常感谢.
//提取数字转成整数
int StrGetNum(char *str) {
int i = 0, j = 0;
int n = 0;
while(str !='\0')
{
while(*str >= '0' && *str <= '9')
{
n *= 10;
n += *str - '0';
UART0_Send_String("加\r\n");
str ++;
}
str ++;
// if(str =='\0')return n ;
}
return n ;
}
//主函数
mian(){
sprintf(BuffSrc,"%d",StrGetNum("A1")); //把数字转成字符串
UART0_Send_String(BuffSrc); //打印字符串到串口
UART0_Send_String("\r\n");
}
串口打印结果
加
加
加
102
|