华为面试题目,及其答案

时间:2023-02-01 14:43:38

2005年华为招聘--C语言笔试试题 @*^H3ywH  
4/]G <aLln  
@}l00E rY  
{Uz7,%.n  
一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)
Z}xDW*Z!?  
7x?rq .  
1、有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。( T )
Nl h.N~  
rg>tTV;  
2、int (*ptr) (),则ptr是一维数组的名字。(   )
,-["3j[  
G$gcx rCD  
3、指针在任何情况下都可进行>,<,>=,<=,==运算。(F   )
_s2!+$K  
4'-6w>~e  
4、switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。(   )
Rtej/ pIl  
MSm+Rn0Y  
5、#define print(x) printf("the no, "#x",is ")
C OzBc  
T$$a 8G.  
H(~ @p_  
U')]%h"b~  
二、填空题(共30分)
[?~!bD#0  
dEsL%AZ  
1、在windows下,写出运行结果,每空2分,共10分。
y!^ )y>#>B  
1W ,J-O  
char str[ ]= "Hello";
:(CH("1P  
BUBybo|c  
char *p=str;
0p::eH3vm  
Ou8T-T6^  
int n=10;
( 2IZrY  
0zN<$!wo]  
sizeof(str)=( 6    )
']q =9+  
GWA"/n+!p:  
sizeof(p)=(   4  )
-IE/i,Jb  
c3>XYz!  
sizeof(n)=(   4  )
jv/Ls SIQv  
nv{ =3  
C%]SsJ;  
DO d6N"  
void func(char str[100])
Aw8!H36c$  
H[8nq{0 @  
{   }
t7:M+Zy  
x@]xO7T6  
sizeof(str)=(   )
9~Jf(8f  
bUVsN^%A  
g;cS<ZkR2  
N_5bB  
2、void setmemory(char **p, int num)
!5p6oTf3  
`w(g`Zh  
{ *p=(char *) malloc(num);}
M$>i~Sry  
&.TRS>(evh  
void test(void)
a#~_C)k^  
3B dvA  
{ char *str=NULL;
*C~?C'  
f/fhW&#u  
  getmemory(&str,100);
$(^$<}M  
1 sMNc$]  
  strcpy(str,"hello");
6am12NiA?A  
TX.4' d@d8  
  printf(str);
ntig}lg  
+.-[kL&Qh(  
}
iqkJoxwL  
F '. Z{  
运行test函数有什么结果?(                     )10分
CQ95>f]  
~}xj 5+'  
ByO%I68fC  
j]+}BWEB(|  
3、设int arr[]={6,7,8,9,10};
L",i%ksA`  
9GT0H|q  
  int *ptr=arr;
i2hfo(95Q  
=5EMXw E  
  *(ptr++)+=123;
h}AN].  
KU{BeWp[  
printf("%d,%d",*ptr,*(++ptr));
`'47oYw  
sW/Rmp2  
(           8,8            ) 10分
z9%WkAm3#  
hp@*CA>D  
UCHX  
`F4Q<7  
二、编程题(第一小题20,第二小题30分)
nj 8"L!,T  
8+7bWh_,  
1、 不使用库函数,编写函数int strcmp(char *source, char *dest)
e|v;,:O  
i]Rr<l2'  
相等返回0,不等返回-1;
;mg+@~)^  
Nucpu  
i8CfKO9  
'HO_j8@#Z  
2、 写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1