2 therightoforange Therightoforange 于 2015.06.22 21:05 提问

很简单的一个问题,这这里的i是不是错了

图片说明

3个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.06.22 21:21
已采纳

无所谓对错,对于编程来说,应该是错的,没有注意i被截断
char是8位,只截取低8位
289二进制是100100001
截取后赋值给C后是00100001,这个数是33

daggger
daggger 正解。将'a'赋值给c确实无多大意义。或者只是习惯性的初始化而已。
2 年多之前 回复
danielinbiti
danielinbiti 回复Therightoforange: 从这三行看,没有特别的意义。只是c的定义是char有用,赋不赋值意义不大
2 年多之前 回复
Therightoforange
Therightoforange 这里的char c='a',代表什么
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.06.22 21:40

如果是char,那么就是 i % 256取余数
如果是unsigned char就可以取512以内。
ascii表:http://baike.baidu.com/link?url=HP75yqBHxhigTpvxZ9Z0XoqcvjXD03QVGoI6T7HlkN3m6FNiwHIfYLH7DS82ZIVCmcvtKo6JUvxPYPAuuyQdfln2iCc-rLgrU3VEmzmLtUia9xXBNCdmpt7weJAMFP2w
根据此表,'a' 相当于 97

Therightoforange
Therightoforange 可它把a的值赋给c有什么用
2 年多之前 回复
notfindjob
notfindjob   2015.07.25 19:12

没有错,char只能是-128到+127;289-256=33

Csdn user default icon
上传中...
上传图片
插入图片