问题描述
- VS2010 输出结构体的地址是乱码
-
struct Student{
int num;
char name[20];
char sex;
};
int main()
{
Student student1 = {10001,"zhang xin",'M'};cout<<&student1.num<<endl; cout<<&student1.name<<endl; cout<<&student1.sex<<endl; return 0;
}
定义上面的结构体,但是输出cout<<&student1.sex<<endl; 结果却是乱码,理论上不应该是name的地址加上20?已考虑到字节对齐情况!
解决方案
你用&干啥的,取student1的地址吗?
解决方案二:
cout会对于字符数组会做一些处理。打印字符串等。
时间: 2024-09-29 20:40:14