求高人做题..急 2个小题目

来源:百度知道 编辑:UC知道 时间:2024/06/19 22:54:14
5.设变量定义int x = 6, y, z; 执行语句 y = z = x--; y = x == z; 后变量y的值是:【 】
(A) 0 (B) 1 (C) 5 (D) 6

6.下面的变量定义中,不正确的是: 【 】
(A) char *p=”string” (B) int a[]={‘A’,’B’,’C’}
(C) float *q=&b, b; (D) doudle a, *r=&a;

7.设有变量定义 doubleb[5], *p=b; 能正确表示b数组中元素地址的表达式是: 【 】

(A) b (B) b+5 (C) *b[0] (D) &b

5. A 赋值是从右向左的, 此题关键在于 y = x == z; 到这步后x=5,z=6 所以(x==z)的结果是0(如果x与z相同,x==z就是1), y = x == z就变成y=0.

6 C *q=&b的时候b还没有定义,C错误 (注意 :D选项double写错了 是LZ自己打错了吧)

7 A b是首地址也就是b[0]的地址! double是八个字节,所以b,b+8,b+16,b+24,b+32是数组元素b[0] b[1] b[2] b[3] b[4] 的地址,所以只有A符合其中一个!

这题貌似给10分太少了..

5,z=x--之后,x就比z小1了, 所以x==z肯定为假,结果是0

6.C.b要在q之间被声明

7.A.表示首地址.
B越界了.
C.b[0]已经是元素值了,没法再取地址的值.
D.b已经是地址,没法再取地址

1题: A
2题:c
3题:a

1.A
2.c
3.A