void main(){
char str[18] ="t88355";
int num = atoi(str+1);
//把字符串转换成整数,参数传递的是从某一位开始往后的所有字符,出现非数字字符都会转换失败,就是0
printf("%d\n",num); // 88355
}
//字符串与整数之间的转换
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int getTen(int n){
int res = 1;
for (int i = 1; i <= n; ++i) {
res *= 10;
}
return res;
}
int toNum(char *str){
int res =0;
int length = strlen(str);
while(*str != '\0'){
if(*str <= '9' && *str >= '0'){
res += getTen(length -1 ) * (*str - 48); //字符转为相应的数字就减去48 也就是’0‘的ASCII码
} else{
return -1;
}
str++;
length--;
}
return res;
}
char * toString(int *pInt){
//char str[20] ={'\0'};
int num = *pInt;
//计算有多少位
int i=0;
do{
i++;
}while (num = num / 10);
char *str = (char *) calloc(i+1, sizeof(char)); //多余的一个字符空间默认会置为 '0'
num = *pInt;
int bit =0;
for (int j = i -1; j >=0 ; --j) {
bit = num % 10;
num = num / 10;
str[j] = bit +48;
}
return str;
}
void main(){
char *str = "1255634";
int num = 1234;
int *pInt =#
printf("%d\n",toNum(str));
printf("%s\n",toString(&num));
}