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

1、若有以下定义和语句:
char *s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
则输出结果是

4

5

9

10

2、假定所有变量均已正确说明,下列是程序段运行后x的值是?
a=b=c=0;x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;

34

4

35

3

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

20

16

14

12

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

用typedef可以增加新的类型

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

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

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

5、以下程序的输出结果是
fut( int **s,int p[2][3])
{ **s=p[1][1];}
main( )
{  int a[2][3]={1,3,5,7,9,11},*P;
p=(int *)malloc(sizeof(int));
fut(&p,a);
print("% ",*p);
}

1

7

9

11

6、以下程序输出的值为?
main()
{ int a[ ]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d\n",*p+9);
}

1

9

10

0

7、设有如下定义:
char *aa[2]={"abcd","ABCD"};
则以下说法中正确的是

aa数组元素的值分别是"abcd"和"ABCD"

aa是指针变量,它指向含有两个数组元素的字符型一维数组

aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

aa数组的两个元素中各自存放了字符'a'和'A'的地址

8、若变量c为char类型,能正确判断出c为小写字母的表达式是

'a'<=c<= 'z'

(c>= 'a')||(c<= 'z')

('a'<=c)and ('z'>=c)

(c>= 'a')&&(c<= 'z')

9、以下所列的C语言常量中,错误的是

0xFF

1.2e0.5

2L

'\72'

10、下列程序段的输出结果是
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