C++怎么把int转换成char

#include<iostream>usingnamespacestd;intreverseDigit(intnum){intn;n=sizeof(num);int*i,... #include <iostream>
using namespace std;
int reverseDigit(int num)
{
int n;
n=sizeof(num);
int *i,*j;
int *s=#
i=s;j=s+n;
while(i<j)
{int temp;
temp=*i;
*i=*j;
*j=temp;
i++,j--;}
return num;
}
int main()
{
int num,number;
cin>>num;
number=reverseDigit(num);
cout<<number<<endl;
return 0;
}

我知道问题是num为int型不能用指针交换每位数的位置,但怎么把num强制转换为char呢?
展开
 我来答
xx_lyq00
推荐于2017-11-26 · TA获得超过4138个赞
知道大有可为答主
回答量:1794
采纳率:88%
帮助的人:784万
展开全部
int 强制转换为char 有精度损失
你说的转说,是指num对应数字转化吧。
如果是这样的话,就不是转化为char 而是转换为char * 或者说是char []
比如123 要转换成字符数组 123这样。
循环取每一位,放到数组里。
比如 int num ; char array[10];
int k=0;
do
{
array[k++]=num%10+'0';
num=num/10;
}while(num);

这样子array就是存num的数字,

也可以用sprintf函数 。
sprintf(array,"%d",num);
这样也可以了。

你上面写的代码很乱。 比如
j=s+n;

这里j,s都是地址 ,n是整数。 这样加出来都不知道是什么东西。
xuzewei_
2013-09-21 · TA获得超过154个赞
知道答主
回答量:86
采纳率:0%
帮助的人:78.9万
展开全部
num强制转换为char :(char)(num),强制类型转换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
375308229
2013-09-21 · 贡献了超过292个回答
知道答主
回答量:292
采纳率:0%
帮助的人:27.6万
展开全部
//指针这个东西再这个编程时代已经没什么必要存在了。。。 一般都可以用其他方式来实现

建议你用String类来做 ,很简单 ( 加上String 的头文件)
String str; //str也可以当做数组来用
getline(cin,str);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式