小弟一个几行的代码得不到想要的结果,请高手指教!
#include<iostream>
using namespace std;
typedef struct
{
double a1 ;
double a2 ;
double a3 ;
}TRI;
void main()
{
TRI d;
d.a1 = 78.3543;
d.a2 = 65.23 ;
d.a3 = 2.989;
char str[24];
memcpy(str,&d,sizeof(TRI));
cout<<strlen(str)<<endl;
d.a1 = 0;
d.a2 = 65.23 ;
d.a3 = 2.989;
memcpy(str,&d,sizeof(TRI));
cout<<strlen(str)<<endl;
d.a1 = 78.3543;
d.a2 = 0 ;
d.a3 = 2.989;
memcpy(str,&d,sizeof(TRI));
cout<<strlen(str)<<endl;
}
输出结果:
27
0
8
郁闷!为什么会这样?我该怎么得到正确的24呢?