久久综合丝袜日本网手机版,日韩欧美中文字幕在线三区,亚洲精品国产品国语在线,极品在线观看视频婷婷

      <small id="aebxz"><menu id="aebxz"></menu></small>
    1. 華為C/C++筆試題系列二

      時(shí)間:2022-07-11 14:49:33 筆試 我要投稿
      • 相關(guān)推薦

      華為C/C++筆試題系列二

      華為筆試題;C;C++;

      華為C/C++筆試題系列二

      1.說(shuō)出下面這個(gè)程序的運(yùn)行結(jié)果,并簡(jiǎn)要敘述其理由:

      char buf1[10]="hello";

      char buf2[10]="hello";

      if (buf1==buf2)

      printf("equal!");

      else printf("not equal!");

      答:因?yàn)閎uf1,buf2分配了不同的內(nèi)存塊,而比較的是數(shù)組名,實(shí)際上是兩個(gè)分別指向數(shù)組起始元素地址的指針。

      2.指出下面這段程序中存在一些什么問(wèn)題:

      int loop,a[5];

      int* p=a;

      for (loop=0;loop<5;loop++)< p="">

      { p++;

      *p=loop;

      }

      答:數(shù)組a[5]在創(chuàng)建時(shí)沒(méi)有初始化, 在for循環(huán)里也沒(méi)有起到完全初始化數(shù)組的作用,而且對(duì)一塊未知內(nèi)存賦值。在最后一輪循環(huán)結(jié)束時(shí)p指向了數(shù)組a[5]的最后一個(gè)元素的下一個(gè)地址。

      string 系列

      char * strcpy( char *strDest, const char *strSrc )

      {

      assert( (strDest != NULL) && (strSrc != NULL) );

      char *address = strDest;

      while( (*strDest++ = * strSrc++) != ‘\0’ );

      return address;

      }

      char* strncpy(char* strdest, const char* strsrc, int n)

      {

      assert((strdest != NULL) && (strsrc != NULL));

      char* address = strdest;

      while(n-- > 0)

      *strdest++ = *strsrc++;

      return address;

      }

      int strcmp(const char* str1, const char* str2)

      {

      assert((str1 != NULL) && (str2 != NULL);

      int ret = 0;

      while (!(ret = (unsigned char*)*str1 - (unsigned char*)*str2) && (*str2))

      {

      str1++;

      str2++;

      }

      if (ret > 0)

      ret = 1;

      else if (ret < 0)

      ret = -1;

      return ret;

      }

      int strlen(const char* str)

      {

      assert(str != NULL);

      int len = 0;

      while (\