C语言 谁来看一眼 求高手 int a=3;float b=2;sizeof(a>b?a:b);结果是什么啊 ???谢谢啦

int a=3;float b=2;sizeof(a>b?a:b);结果是什么啊 ???谢谢啦
求高手?

要看语言环境和操作系统, 这里int 为32位,float也是32位的。由于 a>b?a:b 按 float自动转换,相当于 sizeof( float ) = 4。如果 把float换为double,则 结果为8.
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-23
当然是4了
相当于你在sizeof(int)追问

类型不同时,类型为表达式中较高的是什么意思啊 你这和上边不一样啊

追答

意思就是说像你上边那样的有int 和float,因为float的精度比int高,所以理论上会把int类型变量提升为float 型来处理,但是实际上却未必是这样的,我以前就遇到过这样的问题

第2个回答  2012-06-23
运行一下不就知道了,结果是4,我用vc++6.0
#include<stdio.h>
void main()
{
int a=3,c=0;
float b=2;
c=sizeof(a>b?a:b);
printf("%d\n",c);
}
首先你得知道sizeof()表示的意思,具体见http://baike.baidu.com/view/1356720.htm,其次(a>b?a:b)表示求a与b中较大着
第3个回答  2012-06-23
4

...a=3;float b=2;sizeof(a>b?a:b);结果是什么啊 ???谢谢啦
要看语言环境和操作系统, 这里int 为32位,float也是32位的。由于 a>b?a:b 按 float自动转换,相当于 sizeof( float ) = 4。如果 把float换为double,则 结果为8.

c语言中 int a,b; y=(float)a\/b; 那么结果是什么?能够说说具体是什么...
首先是类型的强制转换 a会被转换成float 也就是单精度浮点型 然后是不同类型混合计算。当float型和int型进行计算时,结果为float型。所以 如果a=3 b=2的话 那么(float)a\/b的值是1.5 至于赋值给y 取决于y的类型。如果y为float或者double型,那么y值就是计算结果。如果y为int或者其它整数类型, ...

C语言中 int a=3 int b=2 int aa,bb 是什么意思
表示声明了a,b,aa,bb四个整数类型的变量 并且a赋值为3,b赋值为2

float a=2;int b=3;则表达式sizeof(a*b)+2\/5旳值是多少,麻烦解答下
答案分别是 4 和 0 2 题目中少了一个b,应该是 float a=2;int b=3;3 sizeof(a*b)的值是 4 因为 a*b的结果是 float型,已验证,不是double型,这一点我也感到惊奇 而在32位机器验证 float和double都是4个字节,所以结果是4 4 2\/5的结果是0 因为整型除以整型结果还是整型 ...

float a=2;int b=3;则表达式sizeof(a*b)+2\/5旳值是多少,麻烦解答下
4 a*b是由int和float类型运算,结果为float型,sizeof(float)为4,而2\/5两个整型数运算结果为整数0,最终值为4。

关于sizeof的问题
1、sizeof(a+b)统计变量a与b之和所占用的内存字节。int在楼主所用的编译器中解释为占用2个字节,a与b之和也是一个int类型的结果,所以输出还是为2。2、sizeof(c+d)统计变量c与d之和所占用的内存字节。float在楼主所用的编译器中解释为占用4个字节,而c与d之和则被定义为double类型的结果,...

C语言中sizeof的用法
char c; int i; }; sizeof的结果等于对象或者类型所占的内存字节数,好吧,那就让我们来看看S1的内存分配情况:S1 s1 = { 'a', 0xFFFFFFFF };s1的地址为0x0012FF78,其数据内容如下: 0012FF78: 61 CC CC CC FF FF FF FF中间夹杂了3个字节的CC看看MSDN上的说明:When applied to a structure type ...

c语言程序里sizeof是什么意思
在 Pascal 语言中,sizeof() 是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位);在 C 语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。在Pascal 语言与C语言中,对 sizeof() 的处理都是在编译阶段进行。

C语言中若int a=3.b=2.则a>b表达式的值.a<=b表达式的值
a>b表达式的值是1 .a<=b表达式的值是0

在c 语言中sizeof后面是句子怎么用?
c语言中sizeof的用法大概有以下几种:1.返回一个类型的大小,如:sizeof(int),sizeof(int*)。2.返回一个常量的大小,如:sizeof(100),sizeof(1+1.1)。3.返回一个表达式的大小,如:int a=1,arr[]={1,2,3};float b=2.2;sizeof(a*b+1),sizeof(arr)。

相似回答