您的位置:首页 > 编程语言 > C语言/C++

关于c++字符串的一个问题

2011-09-27 11:47 585 查看
[align=center]关于c++字符串的一个问题[/align]
[align=center](liupq 2009.11.19)[/align]
问题
s="C++ is great fun!"+'\n';

cout<<s;
以上语句的输出是什么:
答案
at fun

解释:一个字符串常量像"abcd" 它是一个指针常量,表示指向这个字符串的首地址,属于const char[]类型,不能改变这个字符串的值。
const char[]加上一个字符,字符被转化为ASII(整数),'\n'的值是10;
字符串的首地址加一个整数代表是的指针位置偏移;
总结以上,对于"C++ is great fun!"+'\n',是"C++ is great fun!"的首地址的指针往后移动10个位置,所以得到的是at fun.

延伸
"C++ is great fun!"+“\n”是一个错误?为什么?
如何在"C++ is great fun!"串合拼上一个字符'\n'。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: