如题目或答案有误,请通过BUG反馈告知我们修正,谢谢!

1、若有以下定义和语句:
int w[2][3],(*pw)[3];pw=w;
则对w数组元素的非法引用是

*(w[0]+2)

*(pw+1)[2]

pw[0][0]

*(pw[1]+2)

2、以下对枚举类型名的定义中正确的是

enum a={one,two,three};

enum a{one=9,two=-1,three};

enum a={″one″,″two″,″three″};

enum a{″one″,″two″,″three″};

3、以下c语言函数声明中,不正确的是:

void fun (int x, int y);

fun (int x, int y);

int fun (int x,y);

char *fun (char *s);

4、以下程序段的输出结果是
int x=3;
do
{  printf("%3d",x-=2); }
while(!(--x));

1

30

1 -2

死循环

5、凡在函数中未指明存储类别的变量,其隐含的存储类别为

auto 型

static 型

extern 型

register 型

6、设有以下定义或语句,则输出的结果是?
(用small模式编译,指针变量占2个字节)
struct date
{long *cat;
struct date *next;
double dog;
}too;
printf("%d",sizeof(too));

20

16

14

12

7、用数组名作为函数调用时的实参,实际上传送给形参的是

数组首地址

数组的第一个元素值

数组中全部元素的值

数组元素的个数

8、若有以下说明和语句,则输出结果是哪一项?
(strlen(s)为求字符串s的长度的函数)
char s[12]="a book!";
printf("%d",strlen(s));

12

8

7

11

9、执行下列语句后,a的值为:
int a;
#define M(x,y) (x*y)
a=M(1+2,3);

9

7

5

以上均不是

10、以下运算符中,运算对象必须是整型的是:

/

%=

!=

〈=