有时写代码会用到字符类型的数字转成真正的数字,一位数字转换很简单,只需要用ASCLL码-48就可以。如果多位数字符串,就可以一位一位的操作,直接上代码:
我用printf打印出了转换字符串数字的过程:用的时候可以屏蔽掉(//)。
#include "stdio.h"
long int translate(char*temp);
int main(int argc,char*argv[])
{
long int result;
char*sss = "123";
result=translate(sss);
printf("结果为 %d \r\n", result);
system("pause");
return 0;
}
long int translate(char*temp)
{
long int sum = 0;
int t = 0;
while (temp[t])
{
printf("本次转换的值为 %d \r\n", temp[t]);
sum = sum * 10 + (temp[t] - 48);
printf("目前sum的值为 %d \r\n", sum);
t++;
}
return sum;
}