1、16 位 short int 类型所能表示的数值下限与上限,如果使用 printf 的格式串”%d,%d”打印,
其结果是 -32768 , 32767 ;
2、有定义
signed char ch = 127;
printf(“%d”,ch+127);
的输出结果是 254;
3、多组数组 a[10][10][10]的第一个元素是 a[0][0][0],则其第 245 个元素是 a[2][4][4];
4、若定义 int a[010], 则 sizeof(a)的值是 32;
5、有定义 char *str = “hello ”,则 strlen(str)的值是 6;
6、定义一个函数指针类型 func_ptr,所对应的函数的参数是 void,返回值为 int 指针:
typedef int *(*func_ptr)(void);
7、完成宏定义,将 int 型变量 a 的第 0 位到第 1 位取反(右数最低位为第 0 位),其他位保
持不变: a^3
#define REVERSE(a,n) _ ((a)^3)____;
8、如下函数
int func(void)
{
static int cnt;
}
第一次运行时,cnt 的值是 0;
9、若 i = 0,表达式 a[i++] += 4;
运算后,i 的值是 1;
10、语句 sprintf(“%x, %d, %c”, ‘1’, ‘1’, ‘1’);的输出是 31,49,1;
11、枚举类型定义
enum boolean {yes, no};
yes 的数值是 0;
12、有如下程序
#define ADD(x) (x) + (x)
int main(void)
{
int a = 5, b = 6, c = 7, d = ADD(a + b) * c;
printf(“%d”, d);
return 0;
}的输出结果是 88;
13、程序
main()
{
int i = 16, j, x = 6;
j = i+++1;
x *= i = j;
printf(“%d, %d”, j, x);
} 输出的是 17,102;
14、有以下语句
struct a {int v1, v2;};
struct b {
struct a v1;
int v2, v3;
};
int main(void)
{
stuct b t = {1, 2, 3, 4};
struct a *ap = (struct a*)&t;
printf(“%d”, *((int *)(ap + 1)));
评论9