功能:数字字符串转整型int,去除高位0。
注意:不要输入超出int范围。
#include <stdio.h>
#include <string.h>
int pw10(int m);//计算10次方
int str2int(char *nums);
int main()
{
char nums[]="0103456";
int num;
printf("原字符串:%s\n",nums);
num=str2int(nums);
printf("转成整型后的数字为:%d\n",num);
return 0;
}
int pw10(int m)//计算10次方
{
int i,mu=1;
if(m==0)
return 1;
for(i=0;i<m;i++)
mu= mu*10;
return mu;
}
int str2int(char *nums)
{
char *p=nums;
int len=strlen(nums),i,m=0,sum=0;
while(1)//去高位0
{
if(*p=='0')
p++;
else
break;
}
for(i=len-1;&nums[i]>=p;i--)
sum=sum+(nums[i]-'0')*pw10(m++);
return sum;
}