暖暖的味道酸辣汤:excel97中数据类型有哪些

来源:百度文库 编辑:高校问答 时间:2024/04/27 19:16:19
说什么呢,不知所云!!

教材没错。
你用sizeof运算是得不到正确结果的。因为编译器不会真的去查找内存,然后告诉你数据长度,而是根据一些预设规则直接给出答案。比如:
float aa=1.0;
int bb=1;
sizeof(aa+bb);
编译后,对于sizeof(aa+bb)这个语句,编译器直接返回两个操作数中较大类型的数据长度,而不是像你认为的那样先计算aa+bb,然后保存结果,最后返回结果的数据长度。
那么怎样能知道aa+bb默认情况下返回什么类型呢?这个问题不是非常容易的,需要一点汇编方面的知识,我就不具体讲了,只提一点,如果你以后掌握了汇编原理,可以自己实验一下:
float aa=1.0;
int bb =1;
printf("%2.1f",bb+aa);
这段代码编译并反汇编后,可以看到弹出一个qword,而不是dword,因此证明默认情况下编译器按照double型处理。