
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什么? 展开
c1=x%10+48 为什么c1,c2,c3要用字符型的啊??不可以用float,int么??
2.把字符串"12"转化为数字12并输出
int x;char c1='1',c2='2';x=10*c1+c2
那为什么就不要+48什么? 展开
2个回答
展开全部
第一个要加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的
2.这时候就是将char c1='1',char的数值是49的,这里是需要-48的
追问
是因为x%10所以要用char
int不可以运算x%10嘛?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询