华为C语言招聘笔试题目

|来源:新高考网

一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)

1、有数组定义inta[2][2]={{1},{2,3}};则a[0][1]的值为0。()

2、int(*ptr)(),则ptr是一维数组的名字。()

3、指针在任何情况下都可进行>,<,>=,<=,==运算。()

4、switch(c)语句中c可以是int,long,char,float,unsignedint类型。()

5、#defineprint(x)printf("theno,"#x",is")

二、填空题(共30分)

1、在windows下,写出运行结果,每空2分,共10分。

charstr[]="Hello";

char*p=str;

intn=10;

sizeof(str)=()

sizeof(p)=()

sizeof(n)=()

voidfunc(charstr[100])

{}

sizeof(str)=()

2、voidsetmemory(char*p,intnum)

{*p=(char*)malloc(num);}

voidtest(void)

{char*str=NULL;

getmemory(&str,100);

strcpy(str,"hello");

printf(str);

}

运行test函数有什么结果?()10分

3、设intarr[]={6,7,8,9,10};

int*ptr=arr;

(ptr++)+=123;

printf("%d,%d",*ptr,*(++ptr));

三、编程题(第一小题20,第二小题30分)

1、不使用库函数,编写函数intstrcmp(char*source,char*dest)

相等返回0,不等返回-1;

2、写一函数intfun(char*p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1


中国点击率最高的一篇文章 !