中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      c面試題庫

      時間:2023-04-01 07:15:37 面試問題 我要投稿
      • 相關推薦

      c面試題庫

      1、實現 strcmp
      int StrCmp(const char *str1, const char *str2)
      做是做對了,沒有抄搞,比較亂
      int StrCmp(const char *str1, const char *str2)
      {
      assert(str1 && srt2);
      while (*str1 && *str2 && *str1 == *str2) {
      str1++, str2++;
      }
      if (*str1 && *str2)
      return (*str1-*str2);
      elseif (*str1 && *str2==0)
      return 1;
      elseif (*str1 = = 0 && *str2)
      return -1;
      else
      return 0;
      }
      int StrCmp(const char *str1, const char *str2)
      {
      //省略判斷空指針(自己保證)
      while(*str1 && *str1++ = = *str2++);
      return *str1-*str2;
      }
      2、實現子串定位
      int FindSubStr(const char *MainStr, const char *SubStr)
      做是做對了,沒有抄搞,比較亂
      int MyStrstr(const char* MainStr, const char* SubStr)
      {
      const char *p;
      const char *q;
      const char * u = MainStr;
      //assert((MainStr!=NULL)&&( SubStr!=NULL));//用斷言對輸入進行判斷
      while(*MainStr) //內部進行遞增
      {
      p = MainStr;
      q = SubStr;
      while(*q && *p && *p++ == *q++);
      if(!*q )
      {
      return MainStr - u +1 ;//MainStr 指向當前起始位,u 指向
      }
      MainStr ++;
      }
      return -1;
      }
      3、已知一個單向鏈表的頭,請寫出刪除其某一個結點的算法,要求,先找到此結點,然后刪除。
      slnodetype *Delete(slnodetype *Head,int key){}中 if(Head->number==key)
      {
      Head=Pointer->next;
      free(Pointer);
      break;
      }
      Back = Pointer;
      Pointer=Pointer->next;
      if(Pointer->number==key)
      {
      Back->next=Pointer->next;
      free(Pointer);
      break;
      }
      void delete(Node* p)
      {
      if(Head = Node)
      while(p)
      }
      4、有1,2,....一直到n的無序數組,求排序算法,并且要求時間復雜度為O(n),空間復雜度O(1),使用交換,而且一次只能交換兩個數.(華為)
      #include<iostream.h>
      int main()
      {
      int a[] = {10,6,9,5,2,8,4,7,1,3};
      int len = sizeof(a) / sizeof(int);
      int temp;
      for(int i = 0; i < len; )
      {
      temp = a[a[i] - 1];
      a[a[i] - 1] = a[i];
      a[i] = temp;
      if ( a[i] == i + 1)
      i++;
      }
      for (int j = 0; j < len; j++)
      cout<<a[j]<<",";
      return 0;
      }
      5、寫出程序把一個鏈表中的接點順序倒排
      typedef struct linknode
      {
      int data;
      struct linknode *next;
      }node;
      //將一個鏈表逆置
      node *reverse(node *head)
      {
      node *p,*q,*r;
      p=head;
      q=p->next;
      while(q!=NULL)
      {
      r=q->next;


      q->next=p;
      p=q;
      q=r;
      }
      head->next=NULL;
      head=p;
      return head;
      }
      6、寫出程序刪除鏈表中的所有接點
      void del_all(node *head)
      {
      node *p;
      while(head!=NULL)
      {
      p=head->next;
      free(head);
      head=p;
      }
      cout<<"釋放空間成功!"<<endl;
      }
      7、兩個字符串,s,t;把 t 字符串插入到 s 字符串中,s 字符串有足夠的空間存放 t 字符串
      void insert(char *s, char *t, int i)
      {
      char *q = t;
      char *p =s;
      if(q == NULL)return;
      while(*p!='\0')
      {
      p++;
      }
      while(*q!=0)
      {
      *p=*q;
      p++;
      q++;
      }
      *p = '\0';
      }
      8、寫一個函數,功能:完成內存之間的拷貝
      memcpy source code:
      void* memcpy( void *dst, const void *src, unsigned int len )
      {
      register char *d;
      register char *s;
       if (len == 0)
       return dst;
       if (is_overlap(dst, src, len, len))
      complain3("memcpy", dst, src, len);
       if ( dst > src ) {
       d = (char *)dst + len - 1;
       s = (char *)src + len - 1;
      while ( len >= 4 ) {
      *d-- = *s--;
       *d-- = *s--;
       *d-- = *s--;
      *d-- = *s--;
      len -= 4;
       }
      while ( len-- ) {
      *d-- = *s--;
       }
       } else if ( dst < src ) {
       d = (char *)dst;
       s = (char *)src;
       while ( len >= 4 ) {
       *d++ = *s++;
       *d++ = *s++;
       *d++ = *s++;
       *d++ = *s++;
       len -= 4;
       }
       while ( len-- ) {
       *d++ = *s++;
       }
       }
       return dst;
       }
      9、公司考試這種題目主要考你編寫的代碼是否考慮到各種情況,是否安全(不會溢出)
      各種情況包括:
      1、參數是指針,檢查指針是否有效
      2、檢查復制的源目標和目的地是否為同一個,若為同一個,則直接跳出
      3、讀寫權限檢查
      4、安全檢查,是否會溢出
      memcpy 拷貝一塊內存,內存的大小你告訴它
      strcpy 是字符串拷貝,遇到'\0'結束
      /* memcpy ─── 拷貝不重疊的內存塊 */
      void memcpy(void* pvTo, void* pvFrom, size_t size)
      {
      void* pbTo = (byte*)pvTo;
      void* pbFrom = (byte*)pvFrom;
      ASSERT(pvTo != NULL && pvFrom != NULL); //檢查輸入指針的有效性
      ASSERT(pbTo>=pbFrom+size || pbFrom>=pbTo+size);//檢查兩個指針指向的內存是否重疊
      while(size-->0)
      *pbTo++ == *pbFrom++;
      return(pvTo);
      }

      【c面試題庫】相關文章:

      面試的通用題庫08-09

      C1科目四題庫201605-31

      面試題庫11-11

      IG-WB-C&C 電話面試11-20

      計算機二級c語言題庫及答案03-28

      英語面試常問題庫匯總10-26

      公選面試題庫11-06

      計算機二級C語言題庫2016最新03-29

      畢業面試銀行常見問題庫12-11

      護士面試筆試題庫11-07

      主站蜘蛛池模板: 龙川县| 在线观看国产精品91| 麻豆人妻无码性色AV专区| 绿帽人妻被插出白浆免费观看| 松桃| 亚洲视频在线观看青青草| 天啦噜国产精品亚洲精品| 久久一区av蜜桃人妻| 亚洲国产欲色有一二欲色| 日韩精品极品免费观看| 国产精品久久久久亚洲| 容城县| 乐山市| 国产精品98福利小视频| 亚洲一区二区三区精品在线看| 久久久2019精品视频中文字幕 | 日韩精品中文字幕 一区| 91极品尤物在线观看播放| 免费国产调教视频在线观看| 五月激情狠狠开心五月| 久久久精品国产精品久久| 青青青在线观看视频免费播放| 中文字幕最新精品资源| 亚洲嫩模尤物大尺度高清人体| 国产亚洲视频在线观看播放| 松原市| 南昌县| 精品国产午夜久久久久九九| 绍兴市| 西乌珠穆沁旗| 如皋市| 亚洲国产成人精品激情| 南康市| 日本高清在线播放一区二区三区| 南乐县| 手游| 揄拍成人国产精品视频肥熟女| 一区二区三区在线视频免费观看| 行唐县| 国产精品亚洲综合色区韩国| 最近亚洲精品中文字幕|