Chinaunix首页 | 论坛 | 博客
  • 博客访问: 446788
  • 博文数量: 89
  • 博客积分: 2713
  • 博客等级: 少校
  • 技术积分: 938
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-18 21:19
个人简介

为了成为自由自在的人而奋斗!

文章分类

全部博文(89)

文章存档

2016年(5)

2015年(9)

2014年(2)

2013年(10)

2012年(1)

2011年(30)

2010年(32)

分类: C/C++

2010-09-18 11:08:09

几道笔试题:
1. int a[010], 则sizeof(a) 的值为: 32
   int *a; a = malloc(sizeof(int) * 010); 则 sizeof(a)的值为:4

2.有定义char *str = “hello\n\0\n”,则strlen(str)的值是 6
 char str[] = "hello\n\0\n" strlen(str)为: 6 sizeof(str)为:9
char *str = "hello\n\0\n" strlen(str)为: 6 sizeof(str)为:4

3.多组数组a[10][10][10]的第一个元素是a[0][0][0],则其第245个元素是a[2][4][4]

a[0][9][9] 100个, a[1][9][9] 200个, a[2][0][0] 201个,a[2][1][0] 201+10个,
a[2][4][0] 201+40个,a[2][4][4] 201+40+4 = 245个。

4.定义一个函数指针类型func_ptr,所对应的函数的参数是void,返回值为int指针:typedef int* (*func_ptr)(void);

5.完成宏定义,将int型变量a的第0位到第n位取反(右数最低位为第0位),其他位保持不变:
#define  REVERSE(a,n)  ((1ul<<((n) + 1)) - 1) ^ (a)
即与最右边0-n位全部为1的值相异或

6.printf("%d", '1');输出多少? 49

7.int i = 16, j , x = 6;
  j = i+++1;
  x*=i=j;
则x= ?
 102;
j = (i++) +1 = 17;i = 17; x*=(i=j) 即 x*=j;

阅读(2033) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

chinaunix网友2010-09-21 07:55:53

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com