1楼:
"abc\0abc" 其中,'\0' 是结束标记,
string str8 = "abc\0abc" + str; // 这句话等同于 string str8 = "abc" + str;
所以才有输出abcabc
2楼:匿名用户
\0是c风格字符串的结束标志;
"abc\0abc",双引号的方式默认使用c风格字符串,即char*,转换为std::string后有效的字符串仅是 abc;
\是转义字符,\"即显示为";
c风格字串和std::string做加法联接时,肯定是要统一一个字符串格式的。
可以借鉴c库中的string.h文件,里面的字符串拷贝等char* strcpy(...),判断字符串是否结束的时候,用的是while( (...) != '\0');
3楼:西门依荪
在c++string加法中,前项从\0起被后项覆盖,str8中\0及其以后的abc要被所加项str覆盖,即str8中\0前的“abc“与str的“abc“相连接即为输出值abcabc
4楼:匿名用户
因为"abc\0abc"中“\0”是字符串结束符的标志,检测到这个字符就会认为字符串结束,所以当你相加的时候,它实际只是“abc” + str;最后的结果就是abcabc了。
5楼:戏如人生
首先‘\0’代表结尾标识符,所以‘\0’后面的字符就不奏效了,其次我想告诉你的是,c++最好不要用“+”号来相加两个字符串,因为这样会导致地址的复制,这到后面析构时会出现很严重的错误,字符串相加最好用strcat函数
6楼:匿名用户
\0字符会将后面的字符串断掉变为 "abc"+str
c++ 字符串加减乘除
7楼:匿名用户
#include "iostream"
#include "string"
using namespace std;
main() }
什么叫做加法,减法,除法,乘法,什么是加法,减法,乘法,除法
1楼 百度用户 两个数之间的和是加法 两个数之间的差是减法 求相同的两个数或两个数以上的数相加的和叫乘法 求一个数是另一个数的几倍叫除法。 2楼 匿名用户 加法 1个数和1个数的和,列如1 1。减法 1个数和1个数的差,列如1 1。除法 1个数和1个数的商,列如1 1。乘法 1个数和1个数的积,列如...
有理数加法法则,有理数的加法法则是什么?
1楼 匿名用户 1 同号两数相加,取相同的符号,并把它们的绝对值相加。 2 异号两数相加,取绝对值较大的加数的符号,并用较大的绝对值减去较小的绝对值。 3 一个数同0相加,仍得这个数。 4 互为相反数的两个数相加得0。 2楼 匿名用户 1 同号两数相加,取相同的符号 ,并把绝对值相加。 2 绝对值不...
小数加减法与整数加减法的意义相同吗
1楼 匿名用户 小数加减法与整数加减法的意义完全相同。 加法的意义 整数和小数 已知两个数求两者的运算过程。 减法的意义 整数和小数 已知一个数和这个数与另一个数的和,求另一个数的运算过程。 小数加减法的意义与整数加减法的意义相同吗 2楼 叶声纽 小数加减法和整数加减法意义相同 小数加法的意义与整数...