黑马程序员技术交流社区

标题: 怎样把数字数组转换成字符数组????? [打印本页]

作者: 猜不透    时间: 2016-6-5 11:19
标题: 怎样把数字数组转换成字符数组?????
把int arr[]={65,66,67,78}转换成一个字符数组
作者: 冬以    时间: 2016-6-5 11:38
#include<stdio.h>
int main() {
    //声明整型数组及字符数组
    int arr[] = {65,66,67,68};
    char ch[12];
    //一个数由两个数组组成,对整型数组的元素进行拆分,然后加上48的ASCII表就成了对应的字符的数子字符
    //使用for循环分别进行拆分,从字符数组低位开始赋值
    int shi_wei = 0,ge_wei = 0;
    int index = 0;
    for (int i = 0;i < 4;i++) {
        shi_wei = arr[i] / 10;
        ch[index] = shi_wei + 48;
        index++;
        ge_wei = arr[i] % 10;
        ch[index] = ge_wei + 48;
        index++;
        if(i == 3) {
            break;
        }
        ch[index] =',';
        index++;
    }
    //打印组合后的字符数组
    printf("%s\n",ch);
    return 0;
}
作者: 浮云我想听你说    时间: 2016-6-6 22:11
草  太简单了啊
作者: guojingjing888    时间: 2016-6-6 22:21
可以考虑用sprint
作者: guojingjing888    时间: 2016-6-6 22:23
   可以试试sprintf
作者: 张小景    时间: 2016-6-6 23:42
直接%C打印就可以啊
作者: zhoushujian    时间: 2016-6-7 18:16
遍历数组,然后定义一个char类型的数组来接收就可以了
作者: vivi342863    时间: 2016-6-7 22:18
对呀,%c打印不可以么?
作者: dayuanzhang    时间: 2016-6-9 00:41
先定义一个字符数组,用异或或者中间变量temp交换对应元素的值
作者: 暴雨    时间: 2016-6-9 17:35
好像可以强转吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2