#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> //struct Name//struct 自定义函数 //{ // char name[20]; // char id[20]; // char cord[20]; //}; //int main() //{ // struct Name b = { "家辉", "01.02", "家辉儿子" }; // struct Name* pb = &b; // printf("名字:%s\n", (*pb).name);//(*结构体指针).name // printf("生日:%s\n", (*pb).id); //用地址打印struct Name函数 // printf("生日:%s\n", (*pb).cord); // printf("\n");//换行 // //也可写成 // printf("名字:%s\n", pb->name); //结构体指针->成员名 // printf("生日:%s\n", pb->id); // printf("生日:%s\n", pb->cord); // printf("\n"); // //也可写成 //结构体指针.成员名 // printf("名字:%s\n", b.name); // printf("生日:%s\n", b.id); // printf("生日:%s\n", b.cord); // return 0; //} //隐式类型转换------需要整型提升(short,char型)变为(int型)(分为正数和负数),然后截断,并只留下最后八位 //正数,如char i=8; 为00001000---->00000000000000000000000000001000 //负数,如char i=-8;为10001000---->11111111111111111111111110001000 //无符号整型,高位补0;unsigned i=8;00001000---->00000000000000000000000000001000 //int main() //{ // char a = 3; //00000000000000000000000000000011截断,变为00000011(int) // char b = 127;//00000000000000000000000001111111截断,变为01111111(int) // char c = a + b;//c为int型a,b相加:01111111+00000011=10000010(第一位为1,负数,所以变为二进制时其他位补1) // //10000010变为二进制11111111111111111111111110000010(计算机显示的是补码) // // 反码为11111111111111111111111110000001(补码-1) // // 原码为10000000000000000000000001111110(反码相反数),为-126 // printf("%d\n", c);//打印结果为-126 // return 0; //} //int main() //{ // char a = 0xb6;//char short型,小于int型,转变后,不等于原来的值 // short b = 0xb600; // int c = 0xb6000000; // if (a == 0xb6) // { // printf("a\n"); // } // if (b == 0xb600) // { // printf("b\n"); // } // if (c = 0xb6000000) // { // printf("c\n"); // } // return 0; //} //int main() //{ // char a = 0xb6;//char short型,小于int型,转变后,不等于原来的值 // short b = 0xb600; // int c = 0xb6000000; // if (a == 0xb6) // { // printf("a\n"); // } // if (b == 0xb600) // { // printf("b\n"); // } // if (c = 0xb6000000) // { // printf("c\n"); // } // return 0; //} int main() { char c = 1; //%u是打印有个unsigned的数 printf("%u\n", sizeof(c));//打印结果为1 printf("%u\n", sizeof(+c));//打印结果为4 printf("%u\n", sizeof(-c));//打印结果为4 return 0; }