将字符串”12345”转换为整数12345;或将整数12345转换为字符串”12345”。
代码思路:1.取出每一个字符,通过字符串与整数之间的关系进行转换
//字符串转换为整数
intToNum(char * str){
int num = 0;
char *istr = str;
while(*str != '\0'){
if(*str < '0' || *str > '9'){
return -1;
}
printf("%c\n",*str);//取出每一个字符
*str++;
num++; //计数
}
printf("%d\n",num);
int lastres = 0;
for(int i = 0;i < num;i++){
lasteres *= 10; //结果乘以10
int wei = istr[i] - 48;//取出字符
lasteres += wei; //累加
printf("wei=%d\n",wei); //打印
}
return lasteres;
}
//整数转换为字符串
void toChar(int num,char* str){
int wei = 0;
//计算整数的位数
for(int inum= num; ;inum /= 10){
wei++;
}
printf("wei = %d\n",wei);
//6543210 对应存入数组
for(int i = wei - 1;num;num /= 10,i--){
str[i] = num % 10 + 48; //将整数转换为字符串
printf("\n%d%d",num%10,i);
}
}
void main(){
int num = 1234567;
char str[10] = {0};//编号为0的字符
int str1 = "1234567";
toChar(num,str);
printf("%s\n",str);
intToNum(str1);
}