C++primer plus——字符串的故事


(1)两种写法的区分
char a=“s”;//s不是字符常量,而是两个字符“s”和/0终止符组成的字符串,事实上,“s”表示的是字符串所在的内存地址,这个语句试图用一个内存地址赋给a,地址在C++中是独立的类型,因此C++不允许这种做法
char a='a';
's'实际上是83的另外一种写法,下面的语句试图将83赋给a
(2)拼接字符串常量
输出语句中,任何两个由空白(空格、制表符和换行符)分隔的字符串常量都将自动拼接成一个,因此下面三个的输出语句都是等效的
cout<<“喵喵喵” “喵喵喵”;//中间的空格程序上不能加,加上是为了以后方便看
cout<<“喵喵喵喵喵喵”;
cout<<“喵喵喵”
<<“喵喵喵”;
(3)数组长度函数
strlen()只计算可见的字符,不把空字符计算在内
sizeof运算符计算的是数组本身的长度
(4)字符串输入  
cin>>a;
cout<<a;
cin>>b;
cout<<endl;
cout<<b;
输入a为hello word
程序结果
hello
word
原因是cin确定完成字符串输入完成靠的是空白(空格制表换行符),来确定结束位置,所以不能通过键盘输入空字符
(5)解决方式下篇博文将会讲到
 

猜你喜欢

转载自blog.csdn.net/A963457200/article/details/82117431
今日推荐