mdsk.net
当前位置:首页 >> 求表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))的值 >>

求表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))的值

答案是0,分析如下: (int)2.5=2, (int)(1.25*(3.7+2.3))=7 所以上面的式子等价于: 8/4*2/7=0(结果是整型数值的)

因为所有浮点数类型的数都已经被(int)这个强制转换为INT,所以结果为int类型的数

整数型

int型的8/4,8是整形4也是,所以是int,后面的是强制类型转换(int),也是整形。

3.5+6.7=10.2 8/3=2 2*10.2=20.4 20.4/2=10.2 (Int)10.2=10 10%4=2 3.5+2=5.5

float(2+5)=2.5 (int)++x%(int)y->(int)(13.8+1)=14 14%(int)7=14%7=0 得出 2.5+0=2.5 你看是不是这个结果...

选择 Bint a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};相当于int a[][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 0, 0}};而 int * p = *(a + 1);表明 p 此时指向 5 所以要想输出9, p 需要 += 4; 剩下就是 * 和 ++ 优先级的问题了. ===========...

*p=a,数组名表示地址,该句话的意思就是p=&a[0],p+=2表示p=&a[2]; 接下来我们看看* ++的优先级,两个优先级是一样的,属于右结合。*(p++)首先计算p++,由于++在后面,所以*(P++)相当于计算*p,然后p++;所以A和C相同,至于D ++*p表示++(*p)...

D。 表达式“*p = a”说明p指向a[0]的位置; 那么 *p + 6 = a[0] + 6 = 7; A错; p指向a[0]的位置, 则p + 6 指向a[6]的位置, 那么 *(p + 6) = a[6] = 7; B错; p是一个指针,p的值本身是一个地址,p + 5显然不可能为5; c错; 上面说了, p指向a...

答案A. 数组定义是a[0]=1,a[1]=2,a[2]=3, ...,a[9]=10 A. p += 2使p指向a[2], *(p++)表示先取*p的值, 然后p增加1(指向a[3]), 所以取得的值是a[2]=3 B. p += 2使p指向a[2], *++p表示先p增加1(指向a[3]),然后取*p的值,所以是a[3]=4 C. p += 3使p指...

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com