kgdc.net
当前位置:首页 >> 设有说明:int u=1,v=3,w=5;表达式:v&~~u|w的... >>

设有说明:int u=1,v=3,w=5;表达式:v&~~u|w的...

(1)先变成2进制然后去算 0x15二进制是1111、0x0f二进制是10101 这两个数的& 01111 10101 -------- 00101 也就是说结果是5 上下同为1则为1,有一0刚为0、若是or操作则有一1则为1,同0则为0 (2)左移位> 若值为正则在高位插入0,若值为负则在高...

答案: ACDE 1是 0x0001,2是0x0010,3是0x0011。 x & y = 0, x & y & z = 0。 所以A对。 x | y = 3, x | y | z = 3。 所以B错。 自己 ^ 自己 = 0, 所以 C对。 D 3 >> 2 向右移2位,结果是0。 所以D对。 E x & 0xff00 = 0. 所以E对。

#includeint main(){ int x=1,y=2; x=y==3; printf("%d",x); return 0;} 先计算y==3,这个式子的值为0,因为y不等于3,为假,然后x=0。

int a[]={1,3,5,7,9},*p=a; //定义一个数组a,共五个元素;同时定义一个指针p指向数组a的首地址 p -> a[0]=1 即p是a[0]的地址 p+1 -> a[1]=3 p+1是a[1]的地址,下同 p+2 -> a[2]=5 p+3 -> a[3]=7 p+4 -> a[4]=9 while(*p!=3) 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...

subunit-boundary { fill: none; stroke: #777; stroke-dasharray: 2,2; stroke-linejoin: round; } subunit-boundary.IRL { stroke: #aaa; }

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