strlen的幾種不同實現方法

時間:2020-11-22 10:44:37 筆試題目 我要投稿

strlen的幾種不同實現方法

  int strlen(const char *str)

  {

  assert(str != NULL);

  int len = 0;

  while((*str++) != ‘\0′)

  len++;

  return len;

  }

  第二種方法:

  int strlen(const char *str)

  {

  assert(str);

  const char *p = str;

  while(*p++); /*use addresses to count the length of str*/

  return p – str – 1;

  }

  第三種方法:

  int strlen(const char* str)

  {

  if (str[0] == ‘\0′)

  return 0;

  else

  return strlen((char *)(&str[0]+1))+1; /*iteration*/

  }

  ANSI C標準中的說法摘錄如下: (1)當一個數組標識符出現在表達式中,這個標識符的類型就從“某種類型T的數組”轉換成“指向類型T的指針”,而且它的值就等于數組第一個元素的`地址。但是當數組標識符被用作sizeof和取址(&)操作的操作數時,sizeof返回的是整個數組的大小,而取址操作返回的是指向數組的指針(而不是指向一個值為數組頭元素地址的指針的指針)。(2)下列表達式不能產生lvalue: 數組名,函數,枚舉常量,賦值表達式,強制類型轉換,函數調用。

【strlen的幾種不同實現方法】相關文章:

sun認證考試經驗:多線程的幾種實現方法詳解11-08

CAD圖上自動實現不同的標注比例方法08-10

常用的幾種傳球方法09-07

幾種啞鈴的練習方法06-30

實現硬盤raid的方法07-12

堆的javascript實現方法11-22

不同口腔異味的不同去除方法11-01

考研數學階段不同復習的方法不同01-22

幾種經典奶茶的調制方法10-06

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
婷婷色五月在线看网站 | 中文字幕无碼在线 | 天天摸天天碰天天添中文 | 亚洲色黄在线观看 | 亚洲乱码AV中文一区二区 | 午夜精品亚洲一区二区三区嫩草 |