一个关于不定参的问题
一个关于不定参的问题
#include <iostream.h>
void Format(int a,...)
{
char *p=(char*)&a;
int n=*((int *)p);
cout<<n<<endl;
//
p+=sizeof(a);
char *s=*((char**)p);
cout<<s<<endl;
//
p+=sizeof(s);
double d=*((double*)p);
cout<<d<<endl;
//
p+=sizeof(d);
float f=*((float*)p);
cout<<f<<endl;
}
void main()
{
int n=12;
char *s="123456";
double d=12.123;
float f=12.123;
Format(n,s,d,f);
}
结果如下:
12
123456
12.123
-3.68935e+019
Press any key to continue
为什么float型的值获取不正确,float与别的类型是不是有什么不同,哪个能回答一个?