整数字符串转换

本文介绍如何在C语言中将字符串,如'12345',转换为整数12345,以及如何将整数12345转换回字符串'12345'。主要思路涉及逐字符处理和两者间的数学关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将字符串”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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值