华为C语言笔试题和面试题答案

Python018

华为C语言笔试题和面试题答案,第1张

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

1、有数组定义inta={{1},{2,3}}则a[0]的值为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))

()10分

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

1、不使用库函数,编写函数

intstrcmp(char*source,char*dest)

相等返回

0,不等返回

-1

2、写一函数

intfun(char*p)判断一字符串是否为回文,是返回

1,不是返回

0,出错返回

-1

阅读了本文,本站还为你提供以下可能你会感兴趣的相关文章:

厦新笔试真题

安信证券笔试题

日立环球存储笔试题目

#include<stdio.h>

#include<string.h>

int a[100000],b[100000],total[1000000]

int i=0,j=0

void getdata()

{

char t

memset(a,-1,sizeof(a))

memset(b,-1,sizeof(b))

memset(total,0,sizeof(total))

printf("please input two numbers will be multiplied(a and b):\n")

while(scanf("%c",&t)!=EOF&&t!='\n'&&t!=' ')

a[i++]=t-'0'

while(scanf("%c",&t)!=EOF&&t!='\n'&&t!=' ')

b[j++]=t-'0'

}

void chengf()

{

int k,t,i1,j1,flag=0

i1=i,j1=j

for(i=i1-1i>=0i--)

{

k=flag

for(j=j1-1j>=0j--)

{

t=b[j]*a[i]

total[k]+=t%10

total[k+1]+=t/10

if(total[k]>=10)

{

total[k+1]+=total[k]/10

total[k]%=10

}

k++

}

flag++

}

//输出部分

while(total[k]<=0)k--

printf("\nOutput the result as follows:\n")

for(i=0a[i]>=0i++)

printf("%d",a[i])

printf(" * ")

for(j=0b[j]>=0j++)

printf("%d",b[j])

printf(" = ")

for(k>=0k--)

printf("%d",total[k])

}

int main()

{

getdata()

chengf()

return 0

}