用户名: 密码: 企业 个人
当前位置:89学习网范文文章招聘应聘面试问题华为最新面试题目及答案» 正文

华为最新面试题目及答案

[10-16 20:21:13]   来源:http://www.89xue.com  面试问题   阅读:90
摘要:DATE max;则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:___52____答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是 20 + 32 = 52.当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 2010、队列和栈有什么区别队列先进先出,栈后进先出11、。
华为最新面试题目及答案,标签:面试问题范文,http://www.89xue.com

  DATE max;

  则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:___52____

  答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20

  data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.

  所以结果是 20 + 32 = 52.

  当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 20

  10、队列和栈有什么区别

  队列先进先出,栈后进先出

  11、写出下列代码的输出内容

  以下是引用片段:

  #include

  int inc(int a)

  {

  return(++a);

  }

  int multi(int*a,int*b,int*c)

  {

  return(*c=*a**b);

  }

  typedef int(FUNC1)(int in);

  typedef int(FUNC2) (int*,int*,int*);

  void show(FUNC2 fun,int arg1, int*arg2)

  {

  INCp=&inc;

  int temp =p(arg1);

  fun(&temp,&arg1, arg2);

  printf("%d\n",*arg2);

  }

  main()

  {

  int a;

  show(multi,10,&a);

  return 0;

  }

  答:110

  12、请找出下面代码中的所以错误

  说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”

  以下是引用片段:

  1、#include"string.h"

  2、main()

  3、{

  4、 char*src="hello,world";

  5、 char* dest=NULL;

  6、 int len=strlen(src);

  7、 dest=(char*)malloc(len);

  8、 char* d=dest;

  9、 char* s=src[len];

  10、 while(len--!=0)

  11、 d++=s--;

  12、 printf("%s",dest);

  13、 return 0;

  14、}

  答:

  方法1:

  以下是引用片段:

  int main()

  {

  char* src ="hello,world";

  int len = strlen(src);

  char* dest = (char*)malloc(len+1);//要为\0分配一个空间

  char* d = dest;

  char* s = &src[len-1];//指向最后一个字符

  while( len-- != 0 )

  *d++=*s--;

  *d = 0;//尾部要加\0

  printf("%s\n",dest);

  free(dest);// 使用完,应当释放空间,以免造成内存汇泄露

  return 0;

  }

  方法2:

  以下是引用片段:

  #include

  #include

  main()

  {

  char str[]="hello,world";

  int len=strlen(str);

  char t;

  for(int i=0; i

  {

  t=str;

  str=str[len-i-1]; str[len-i-1]=t;

  }

  printf("%s",str);

  return 0;

  }

  1.-1,2,7,28,,126请问28和126中间那个数是什么 为什么

  第一题的答案应该是4^3-1=63

  规律是n^3-1(当n为偶数0,2,4)n^3+1(当n为奇数1,3,5)

  答案:63

  2.用两个栈实现一个队列的功能 要求给出算法和思路!

  设2个栈为A,B, 一开始均为空.

  入队:

  将新元素push入栈A;

  出队:

  (1)判断栈B是否为空;

  (2)如果不为空,则将栈A中所有元素依次pop出并push到栈B;

  (3)将栈B的栈顶元素pop出;

  这样实现的队列入队和出队的平摊复杂度都还是O(1), 比上面的几种方法要好。3.在c语言库函数中将一个字符转换成整型的函数是atool()吗,这个函数的原型是什么

  函数名: atol

  功 能: 把字符串转换成长整型数

  用 法: long atol(const char *nptr);

  程序例:

  以下是引用片段:

上一页  [1] [2] [3]  下一页


Tag:面试问题面试问题范文招聘应聘 - 面试问题