有谁能帮我看看这条C++命令的显示结果啊?随便解释一下,谢谢了

jialiangde 2003-10-20 03:35:49
char c=500
cout << c

出来的结果是ASCII-CODE 里面的十进制的几啊?
谢谢大家了
...全文
44 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
jialiangde 2003-10-22
  • 打赏
  • 举报
回复
谢谢大家这么热心,我很高兴大家都帮我,谢谢你们了
libohit 2003-10-20
  • 打赏
  • 举报
回复
结果是:?
kfjin 2003-10-20
  • 打赏
  • 举报
回复
vc6++上输出的结果为:无内容!
likangnian0128 2003-10-20
  • 打赏
  • 举报
回复
因为溢出关系,是244或者-12

为什么不是-166而是-12?我也不太明白,我是测试得到的结果,
使用:
char c =500;
printf("%x",c);//显示fffffff4,而不是f4~
printf("%d",c);//显示-12

而使用
unsigned char c=500;
printf("%x",c);//显示f4
printf("%d",c);//显示244

当然,使用:
printf("%c",c);//显示 '?'
sharkhuang 2003-10-20
  • 打赏
  • 举报
回复
调试试试哦!
iwillwin 2003-10-20
  • 打赏
  • 举报
回复
是-116,应为char占一个字节,所以溢出了,只保留低位的,二进制码是1111 0100,就 是-116。
sandra423 2003-10-20
  • 打赏
  • 举报
回复
c=500居然不报错!
chzwin 2003-10-20
  • 打赏
  • 举报
回复
我用了turboc 3.0 结果是有,可是就是一个倒写的“L”,这是个什么东东??
liushuangjin2008 2003-10-20
  • 打赏
  • 举报
回复
应该是500吧!
sky_apple 2003-10-20
  • 打赏
  • 举报
回复
我用的编译器是DEV C++没结果
mkchen 2003-10-20
  • 打赏
  • 举报
回复
?
这是我在C++builder里的输出,但不知道是什么。
rockypan 2003-10-20
  • 打赏
  • 举报
回复
我调试了一下,竟然没有输出值!
蝎子i软件 2003-10-20
  • 打赏
  • 举报
回复
500的二进制表示:1 1111 0100
而c是char型(1个字节长),所以c==(1111 0100)B
也就是244 (500-256)
daiwei1852 2003-10-20
  • 打赏
  • 举报
回复
它等价于245和-116,用500-255(因为最大的ASCII是255)=245,把它变为负的就是-116.
Hot_Forever 2003-10-20
  • 打赏
  • 举报
回复
ASCII码最大也只能到255
daizh 2003-10-20
  • 打赏
  • 举报
回复
应该是个汉字或其他之类的

64,281

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧