2 van1021111 van1021111 于 2015.06.04 21:51 提问

关于C语言的小白问题,字符1的实际值

我从新复习了一下C,因为想当一名IOS开发工程师,为过两天学习OC打下基础。
我想问下:
char a = '1';
那么这个a是0000 0001还是ASCII里的1,也就是49?
老是分不清楚。特别是今年接触了汇编之后。

18个回答

caozhy
caozhy   Ds   Rxr 2015.06.04 22:49
已采纳

当然是49,如果是1,那么应该是char c = (char)1;

zhucebuzhou10
zhucebuzhou10   2015.06.04 21:54

这个 就是一个字符1呀,没有那么多的含义吧

bdmh
bdmh   Ds   Rxr 2015.06.04 22:03

49,这个是字符,不是数字1

XPH_123
XPH_123   2015.06.04 22:05

打印的时候打印出整型就知道了

van1021111
van1021111   2015.06.04 22:22

那如果是char a = 1; 这个1保存在内存中是1还是49

van1021111
van1021111 回复hanli1234: 但是字符'1'和1应该不是一样的啊
2 年多之前 回复
hanli1234
hanli1234 49的二进制形式,打印时会根据你输出要求,%c就是‘1’,%d就是49
2 年多之前 回复
u013282732
u013282732   2015.06.05 09:09

49 保存的是字符的ASCII码

jimmy_yinjg
jimmy_yinjg   2015.06.05 09:21

这么来说吧:
printf("%s", &a); //这个打印的是字符串 1
printf("%d", a); //这个打印的是ASCII码 49

实际上它就是字符串1.只不过后面的那个是转换成了ASCII了。

frwjxwx496882960
frwjxwx496882960   2015.06.05 11:34

49,是字符,不是数值

qq_28763887
qq_28763887   2015.06.05 11:54

不好意思 ,帮不上你的忙 了,想了好久还是想不出

u010655288
u010655288   2015.06.05 13:16

49,额,感觉楼上说的好专业,“不好意思,帮不上你忙了,想了好久还是想不出来”,专业回复!哈哈!

共18条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片