免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3735 | 回复: 8
打印 上一主题 下一主题

cout << 'endl' [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-19 14:17 |只看该作者 |倒序浏览
如何解释它呢?
它输出什么?
偶尔在C++ primer answer book上看到的。

论坛徽章:
0
2 [报告]
发表于 2004-04-19 18:57 |只看该作者

cout << 'endl'

相当于C语言的\n

printf("%s\n","aaa";

cout<<"aaa"<<endl;

一样效果

论坛徽章:
0
3 [报告]
发表于 2004-04-19 19:55 |只看该作者

cout << 'endl'

原帖由 "THEBEST" 发表:
如何解释它呢?
它输出什么?
偶尔在C++ primer answer book上看到的。

如果是cout << 'endl'
那么就是错误的。
如果是cout<< "endl";
那么结果是endl.
如果是cout <<endl;
那么结果是换行!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2004-04-19 20:45 |只看该作者

cout << 'endl'

可是我寫的就是cout << 'endl';呀,
編譯可以通過運行呀,你去運行一下試試。
偶用的dev-cpp

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2004-04-19 21:08 |只看该作者

cout << 'endl'

我用g++编译也出错。
我也认为是错误的,
你是怎么理解的?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2004-04-19 21:14 |只看该作者

cout << 'endl'

我用DEVCPP編譯時就出現警告没有出错。
用G++也试了也只是警告吧?
它输出一串数字,但这些数字不是随机的。
对相同的单引号引起来的串输出的值总相同。
所以搞不懂。

论坛徽章:
0
7 [报告]
发表于 2004-04-19 21:49 |只看该作者

cout << 'endl'

'e'、'n'、'd'、'l'的ascii码用十六进制表示分别为 0x65、0x6e、0x64、0x6c,cout << 'endl' 输出的就是它们逆序排列的整数值:0x656e646c。

以上是在little-endian机器上的结果。是不是big-endian机器上会输出 0x6c646e65,希望有条件的给予验证。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2004-04-20 15:41 |只看该作者

cout << 'endl'

我用PC,DEVCPP编译器。
得出:1701733484
似乎这是一个定值啊。
怎么回事?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2004-04-20 15:46 |只看该作者

cout << 'endl'

原帖由 "THEBEST" 发表:
我用PC,DEVCPP编译器。
得出:1701733484
似乎这是一个定值啊。
怎么回事?

1701733484 就是 0x656e646c
whyglinux 说的没有错。
这个问题以前讨论过,
似乎确实是这样,
但是是不是 ANSI C 的一部分,就不知道了。

个人认为,程序中应该避免出现用单引号引起来的多个字符(除非是注释)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP