C++整型实型转换

1.输入一个三位整数,输出它的个位十位百位数字。这时候就用charc1,c2,c3.c1=x%10+48为什么c1,c2,c3要用字符型的啊??不可以用float,int... 1.输入一个三位整数,输出它的个位十位百位数字。这时候就用char c1,c2,c3.
c1=x%10+48 为什么c1,c2,c3要用字符型的啊??不可以用float,int么??
2.把字符串"12"转化为数字12并输出
int x;char c1='1',c2='2';x=10*c1+c2
那为什么就不要+48什么?
展开
 我来答
八神97坤
2013-01-05 · TA获得超过169个赞
知道答主
回答量:101
采纳率:0%
帮助的人:69.4万
展开全部
第一个要加48,因为x%10求余,得到的是个位数,比如是1,字符‘1’的ANSCI码是49,所以要加48,2.第二个问题可能有点问题,x=10*c1+c2的结果估计是x=10*49+50=540,正确的应该是x=10*(c1-48)+c2-48,对于字符中的数字,建议清楚它们的ANSCI
更多追问追答
追问
为什么要用字符型啊字符型。。。
如果第二个那么用的话,字符型和整型转换什么的只要-48就可以了?? 那整型+48就可以直接转化字符型??
追答
你说的这个规律只适合字符数字,因为字符‘0’是从48开始的,所以减48,数字转换成对应的字符,要加48,数字字符转换成数字,要减48,就是你说的这样的,这个你多用几次就熟练了的
匿名用户
2013-01-05
展开全部
1.在这里你是以%c进行输出的,需要char类型,那么字符1对应的ascii码是49,所以要加48
2.这时候就是将char c1='1',char的数值是49的,这里是需要-48的
追问
是因为x%10所以要用char
int不可以运算x%10嘛?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式