|
5鱼币
问题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++
|
最佳答案
查看完整内容
#include
int main(void){
struct tag_1{
int a;
};//这里是定义一个整型变量;拥有sizeof(int)的大小; 32bitPC is 4byte;
struct tag1_{
int :0;
};//记得哪里说的,按最大空间计算,也还是sizeof(int)的大小;
/*那么,int:0;是占据1byte都是零,还是只占一个0位,或者不占位.应该是不占位了*/
/*这里的空没有使用,在结构体中有一个规 ...
|