题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。
例如输入字符串"345",则输出整数345。
#include <iostream>
int chartoint(char* c);
int nowswap(char c);
int main()
{
char* c = "123456";
int a = chartoint(c);
return 0;
}
int chartoint(char* c)
{
int a = 0 ;
int l = strlen(c);
for (int i=0;i<l;i++)
{
a = a*10 + nowswap(c[i]) ;
}
return a ;
}
int nowswap(char c)
{
switch(c)
{
case '1' :
return 1;
break;
case '2' :
return 2;
break;
case '3' :
return 3;
break;
case '4' :
return 4;
break;
case '5' :
return 5;
break;
case '6' :
return 6;
break;
case '7' :
return 7;
break;
case '8' :
return 8;
break;
case '9' :
return 9;
break;
case '0' :
return 0;
break;
default:
std::cout<<"fault!";
break;
}
}
还有一种是直接通过ASCII码转换,每个值减去48,即 ' 0 ' 的 ASCII 值!
#include <iostream>
int chartoint(char* c);
int main()
{
char* c = "123456";
int a = chartoint(c);
return 0;
}
int chartoint(char* c)
{
int a = 0 ;
int l = strlen(c);
for (int i=0;i<l;i++)
{
a = a*10 + c[i]-48 ;
}
return a ;
}