int tonum(char *str)//-1代表失败标签:实现,wei,lastres,整数,int,num,str,printf,字符串 From: https://blog.51cto.com/u_15458814/5882973
{
char *istr = str;//保留副本
int num=0;
while (*str != '\0')
{
if ((*str)<'0' || (*str)>'9')
{
return -1;
}
//printf("%c\n", *str);//取出每一个字符
*str++;
num++;//计数,判断有多少位
}
printf("%d", num);
int lastres = 0; //12345 1 12 123 1234 12345
for (int i = 0; i < num; i++)
{
lastres *= 10; //结果乘以10
int wei = istr[i] - 48;//取出字符
lastres += wei;//累加
printf("\nwei=%d", wei);//打印字符转换为整数的位
}
return lastres;
}