LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1258|回复: 6

[求助]问几道C语言的问题:

[复制链接]
发表于 2004-1-20 13:12:35 | 显示全部楼层 |阅读模式
1.表示空类型的保留字 :_______;
2.设
  struct student
  { int no; char name[12];
    char sex; float score[4];
  }stu1;
在程序执行时,系统为stu1分配________个字节的内存空间。
3.设union
  {   int b;  char a[9]; float x;}un;
  则变量un所占的字节数是_______。
4.写出"n是小于整数m的偶数"的表达式_______。
5.将一个十进制整数n转变为二进制数。
main()
{ int i=0,j,n,num[20];
  scanf("%d",_______);
  while(n!=0)
  { num[i++]=____________;
    n=________;
  }
for (j=i-1;j>=0;j--) printf("%d",num[j]);
}
6.用指针法输出二维数组,每行三个数。
main( )
{ int i,j,a[3][3]={ 1,2,3,4,5,6,7,8,9},(*p)[3];
_________________________________;
for(i=0;i<3;i++)
{
  for (j=0;j<3;j++)  printf("%5d",_________);
  ________________;
}
}
发表于 2004-1-20 14:07:01 | 显示全部楼层
1.void
2,3,不能确定int是用2OR4字节。
发表于 2004-1-20 14:41:42 | 显示全部楼层
我的,估计有错.
2.sizeof(student)
3.union里面最长的元素,最多的char[9] 9字节
4.n=(m/2)*2
5.n%2;n/2
6.p=a;p[j];p++;
发表于 2004-1-20 19:46:23 | 显示全部楼层
2和3:这个问题在实践中极不确定,它和具体的编译环境有关。如果是在32位的体系体系结构上,一般整数是用4个字节表示,浮点数用8个字节表示,字符用1个字节表示,根据这个可以算出结构所占的空间大小。但还要考虑编译时,编译器可能会出于优化的需要进行字节对齐,所以实际情况可能还要占用更大的空间。
4:n=m-m%2
 楼主| 发表于 2004-1-21 01:27:56 | 显示全部楼层
比较同意楼上这位兄弟的,不过第4题我还是不理解:n=m-m%2。
照着题目的意思好象是这样的,(如果m=6,那么n就应该是2和4),你们的表达式好像都不行啵!
发表于 2004-1-21 16:12:35 | 显示全部楼层
那么就 n=(int((m-1)/2))*2
发表于 2004-1-21 18:54:36 | 显示全部楼层
我过几天也要去学这个了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表