'\t\t'为何输出2313

xiaoku617 2009-03-17 10:05:29
cout<<'\t\t';
我用VC++调试,这样为何会输出2313?而不是给我输出二个制表符?

2313是啥来的?

...全文
182 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoku617 2009-03-17
  • 打赏
  • 举报
回复 1
[Quote=引用 8 楼 xylicon 的回复:]
引用 7 楼 xiaoku617 的回复:
我是楼主

------------
cout < <'\t\t';
我用VC++调试,这样为何会输出2313?而不是给我输出二个制表符?

2313是啥来的?

-------------
有人知道编译器是根据啥来输出这个2313的吗?


2313就是16进制的0909
09是一个\t的ASCII值。2个\t就输出2313了
[/Quote]

谢谢了~~
xylicon 2009-03-17
  • 打赏
  • 举报
回复
再补充一下吧,

为什么cout << "\t\t"; 就能输出2个制表符,而 cout << '\t\t'; 就不行呢?

"\t\t" 在序列化的时候它作为字符串输出到cout中,cout会找到以'\0'为结束的字符串输出来,所以\t\t都被输出来了。

而'\t\t' 是要转化成字符输出的,但当序列化的时候发现‘\t\t’的值(2313)超出了字符(unsigned char)的最大值256,那么序列化的时候就把它的内容直接输出来了,这个内容就是2313。

我的理解大概就是这样了,望高手指正。
zbihong 2009-03-17
  • 打赏
  • 举报
回复
学习了!!!但是觉得应该输出的是二进制代码!!!!
xylicon 2009-03-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiaoku617 的回复:]
我是楼主

------------
cout < <'\t\t';
我用VC++调试,这样为何会输出2313?而不是给我输出二个制表符?

2313是啥来的?

-------------
有人知道编译器是根据啥来输出这个2313的吗?
[/Quote]

2313就是16进制的0909
09是一个\t的ASCII值。2个\t就输出2313了



xiaoku617 2009-03-17
  • 打赏
  • 举报
回复
我是楼主

------------
cout < <'\t\t';
我用VC++调试,这样为何会输出2313?而不是给我输出二个制表符?

2313是啥来的?

-------------
有人知道编译器是根据啥来输出这个2313的吗?
lingyin55 2009-03-17
  • 打赏
  • 举报
回复
单引号括起来的是一个字符,双引号括起来的是字符串,输出2313应该是编译器对'\t\t'的一个对应编码吧。
[Quote=引用楼主 xiaoku617 的帖子:]
cout < <'\t\t';
我用VC++调试,这样为何会输出2313?而不是给我输出二个制表符?

2313是啥来的?
[/Quote]
jackzhhuang 2009-03-17
  • 打赏
  • 举报
回复
''是字符
""是字符串

'abc'虽然可以通过编译,但是没什么意义。
  • 打赏
  • 举报
回复
cout <<"\t\t";
这样就ok了。


cout < <'\t\t';

这样一个单字符确实不知道是什么。对应的编码是2313吧
xiaoku617 2009-03-17
  • 打赏
  • 举报
回复
我是楼主
我知道怎么输出二个制表符

我的问题是,我想知道
------------
cout < <'\t\t';
我用VC++调试,这样为何会输出2313?而不是给我输出二个制表符?

2313是啥来的?

-------------
这里的'\t\t'组合成了什么字符了?
我试过了'ab'也是输出数字的
所以我想知道它们组合是什么来的

用的是单引号

要是用双引号就可以正常输出二个符的
xylicon 2009-03-17
  • 打赏
  • 举报
回复
应该用单引号这样写
cout << '\t' << '\t';
xuexicplusplus 2009-03-17
  • 打赏
  • 举报
回复
你用的是单引号还是双引号?

65,211

社区成员

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

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