zrcd.net
当前位置:首页 >> C++问题,我想输出字符的地址,但是为什么输出的是乱... >>

C++问题,我想输出字符的地址,但是为什么输出的是乱...

std::cout

string 是C++标准里的一个类,不是字符串,printf直接打印string类的话会将整个类的内存结构当做字符串来打樱要打印string字符串内容,请将printf("%s\n" ,Result);改为printf("%s\n" ,Result.c_str());

没有给da末尾赋值一个结束符(0x0) 看图,这是da的内存,10字节的空间,但后面是0xcc,而不是0x0 cout打印出来的字符串是遇0x0才结束,所以这才出现了乱码

for(i=1;i

看这句cout

数字后标相当于索引。比如数组是引用类型变量,数组名就是地址名,后加数字索引即可访问数组中任一元素。

写法有问题: printf("%s\n",str.c_str()); 把你的工程的语言调整成 Multi-byte, 在这个地方project->properties->configurations Properties -> General ->Project Defaults -> Charater Set中将Unicode字符集改为Multi-Byte; 理论上, 这两条下...

&ss[0] 是 char* 类型。 cout把char*当做 c字符串处理一直输出直到\0。 对它解引用 * &ss[0] 就得到单个字符char 类型。

楼主注意字符数组的输入,cin>>字符数组的地址。改过来就没问题了void input(course *cour,int i){ int j; for(j=0;j

#include #include using namespace std; void main() { string a="asdfgh"; cout

网站首页 | 网站地图
All rights reserved Powered by www.zrcd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com