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),也是整形。

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

选择 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+i)与P[i]无条件等价。 因为p是指向数组a首元素的地址,所以p[i]又和a[i]等价。 易知B选项即为p[8],也即为a[8],其值为9。 选B

答案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指...

我也觉得应该选B啊!a[10]应该有11个元素,不够的会自动补一个0,也就是说a[10]={1,2,3,4,5,6,7,8,9,10,0}选B,a是数组名的同时也这个数组的首地址,a=&a[0],*p=a+1=a[1]=2也就是第二个元素2,元素2和9之间相差7位置,那么元素9不就是...

相信你们这么回答还是无法让楼主满意的。可以看这例子,楼主你可以自己编译下看看结果,也可以看我的注释. #include int main() { int a1[][8]={1,2,3,4,5,6,7,8}; // 二维数组,第一维不写,元素自动填充,这里没满两行,相当于a1[1][8]一共可以保...

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