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

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

1

30

1 -2

死循环

2、程序中定义以下宏 #define S(a,b) a*b
若定义 int area; 且令area=S(3+1,3+4),则变量area的值为:

10

12

21

28

3、函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为:

1

2

4

5

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

9

7

5

以上均不是

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

void fun (int x, int y);

fun (int x, int y);

int fun (int x,y);

char *fun (char *s);

6、表达式-1<=3<=-5值是:

0

1

3

表达式语法有错

7、若有以下说明和语句,则输出结果是?
char str[]="\"c:\\abc.dat\"";
printf("%s",str);

字符串中有非法字符

\"c:\\abc.dat\"

"c:\abc.dat"

"c:\\abc.dat"

8、以下关于typedef的叙述中错误的是:

用typedef可以增加新的类型

用typedef可以定义各种类型名,但不能用来定义变量

用typedef只是将已有的类型用新的标识符来代表

使用typedef有利于程序的通用和移植

9、下列程序段的输出结果是
void fun(int *x, int *y)
{ printf("%d %d", *x, *y); *x=3; *y=4;}
main()
{ int x=1,y=2;
fun(&y,&x);
printf("%d %d",x, y);
}

2 1 4 3

1 2 1 2

1 2 3 4

2 1 1 2

10、假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是:

p2=**p1

p2=*&p1

p2=*p1

p2=&*p1