string类型问题
string s="asdfsdf";
&s[0]不是应该是s首元素的地址吗?
可是cout << &s[0] ;输出的是asdfsdf
[解决办法]
cout<<在作怪 知道函数重载把? cout每次输出都要重载 所以你输出的结果就是字符串
[解决办法]
cout流的工作原理就是找到string的首地址,然后输出整个字符串啊,所以你把string的首地址取出来放到cout流里面,肯定就是输出完整的字符串
[解决办法]
&s[0]是一个char*指针,它的值是s首元素的地址
cout重载了<<操作符,其中对于char*类型的输入,重载为输出该指针指向的字符串
个人不建议刚入门的程序员使用cin和cout,因为它们比刚入门的程序员要智能得多
推荐scanf和printf,严格按照格式控制输入输出
[解决办法]