21 、C
22 、D
23、B
如果5先出栈那么1,2,3,4就已经入栈了,5出后4出,1要出栈必须先让3,2出栈,所以 不可能输出B
24、10,12,120
25、2,5
26、段错误,因为A[255]只有255个元素,从0-255,有256个元素,越界访问数组可能会出现段错误
27、0,41
28、(a)? (b)320
29、.a=a+b;b=a-b;a=a-b;
30、p1+5=0x801005;p2+5=0x810028;
31、C
32、45
33、D
34、X=10,Y=6
35、5,9
36、C
37、
void set_BIT3()
{a |= (0x0001<<3);
}
void clean_BIT3()
{a &= ~(0x0001<<3);
}
38、
int main(void)
{int *p=(int *)0x67a9;*p=0xaa66;return 0;
39、puts(">6")
有符号int 与无符号 int 参与运算时,会将有符号转换为无符号参与运算,-20转换成无符号数大于6,所以+6也大于6
40、7
41、h,f,c
42、
(1)10^3,10^6,2.5*10^6,5*10^-8
(2)10^-9,10^-6,10^-3
(3)8,1024,1024
43、c,b,h,b,c,i,j
44、
char a[2][10]={"abcdefg","123456789"};
const char *str[2]={"abcdefg","123456789"};
int main(int argc, const char *argv[])
{char *p1;char (*p2)[10];const char **p3;char c;p1=a[0];//把a的第一个元素的地址代入p1c=*(p1+1);c=*(p1+14);p2=a;//把a的第一行的地址代入p2c=*(*(p2)+1);c=*(*(p2+1)+4);p3=&str;//把str的地址代入p3c=*(p3+1);c=*(p3+14);return 0;
}