int是精确的,超出范围就溢出了。数据错误了。 二float并不是单纯的101010这样存储,是把4个字节划分为 符号位,指数位,尾数位 3个部分固定的,因为有指数,存储的范围当然比int大了。 但是3个部分也有范围限制,所以当你精度值越大时,月不精确了。
#include int main() { int n=0; int *Intnumber=new int[n]; long *Floatnumber=new long[n]; while(n<100) { char ch; cout<<"input a character:"; cin>>ch; Intnumber[n++]=ch; float fnum; cout<<"input a float number:"; cin>>fnum; Floatnumber[n++]=fnum; } cout<<"字符数组的地址"<