#include <stdio.h>
#include <stdlib.h>
//输出结果为:000000f7,fffffff7
int main(){
unsigned int a = 0xFFFFFFF7;
unsigned char i = (unsigned char)a; //a的int类型被强制转化为char类型,i为f7
char *b = (char*)&a; //地址的类型发生改变,使a的地址完全存入b,但没有改变里面的内容
printf("%08x,%08x", i, *b);
system("pause");
return 0;
}
//答案为5,若输出为++*k则答案为4
int main(){
int c[] = { 1, 3, 5 };
int *k = c + 1;
printf("%d", *++k);
system("pause");
return 0;
}
//此段代码将打印出3,3,3
int main(void){
int a = 2, *p1, **p2;
p2 = &p1;
p1 = &a;
a++; //a的值不改变
printf("%d %d %d\n", a, *p1, **p2);//跳转下一步时,a的值会+1
system("pause");
return 0;
}
几道小练习
最新推荐文章于 2019-08-10 15:38:09 发布