https://kdocs.cn/l/cl2SWN71CuKK
规定:数据类型的字节大小
21.C 22.B 23.B 5先出栈表示1,2,3,4已经入栈了,5出后4出,但之后想出1得先让3,2先后出栈,所以 B 不可能
24.10,12,120 25.2,5
26.死循环
27.0,41 28.(a)25(奇数项相差5) (b)320 29.a=a+b;b=a-b;a=a-b;
30.p1+5=0x801005;p2+5=0x810014; 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.3
41.h,g,c
42.(1)10^3,10^6,2.5*10^6,1/20*10^6(2)10^-9,10^-6,10^-3(3)8,1024,1024
43.c,b,h,b,c,i,m(#pragma是用来防止头文件被重复包含的)
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的第一个元素的地址代入p1
c=*(p1+1);//通过p1的运算引用'b'
c=*(p1+14);//通过p1的运算引用'5'
p2=a;//把a的第一行的地址代入p2
c=*(*(p2)+1);//通过p2的运算引用'b'
c=*(*(p2+1)+4);//通过p2的运算引用'5'
p3=str;//把str的地址代入p3
c=*(*(p3)+1);//通过p3的运算引用'b'
c=*(*(p3+1)+4);//通过p3的运算引用'5'
return 0;
}