问题1:使用printf()打印,提示出错,为什么?
问题2:我自己的理解是否存在问题【注释里面的】#include<stdio.h>
int main(void){
struct tag_1{
int a;
};//这里是定义一个整型变量;拥有sizeof(int)的大小; 32bitPC is 4byte;
struct tag1_{
int :0;
};//记得哪里说的,按最大空间计算,也还是sizeof(int)的大小;
/*那么,int:0;是占据1byte都是零,还是只占一个0位,或者不占位.应该是不占位了*/
struct tag0{
int a:3;
};//占据3bit的a,sizeof(tag0)也是sizeof(int);等于4;
struct taga{
int a:3;
int b;
};//int b;定义一个整型变量占据4byte,a:3占据3bit,但也是一个sizeof(int) ,所以sizeof(taga)=4+4=8;
struct tagb{
int a:1;
int b:2;
int c:3;
};//1+2+3=6bit,sizeof(int)[32bitPC]=4;
struct bs{
unsigned a:4;
unsigned :0;//详见:"当无名域..8byte).c";偏移量sizeof(int);
unsigned b:4;
unsigned c:4;
};
printf("sizeof(tag1_)=%d;\n",sizeof(tag1_));
printf("sizeof(int)=%d;\n",sizeof(int));
printf("sizeof(struct tag_1)=%d;\n",sizeof(struct tag_1));
printf("sizeof(struct tag0)=%d;\n",sizeof(struct tag0));
printf("sizeof(struct taga)=%d;\n",sizeof(struct taga));
printf("sizeof(struct tagb)=%d;\n",sizeof(struct tagb));
printf("sizeof(struct bs)=%d;\n",sizeof(struct bs));
//大家往这看,这是问题,问题在这里,就是这几个printf();
//这是啥问题?有截图。我在C4droid编译通过,在C-Free和dev c++都是出问题的;
//还有个问题就是,帮我看下我注释有没有啥问题?
//其实就俩问题:看下注释,看下printf();
return 0;
}
C-Free
Dev C++
|