C语言:strlen()函数易错点

喜欢ヅ旅行 2022-08-03 13:51 367阅读 0赞
  1. <pre name="code" class="cpp">/*
  2. strlen函数解析
  3. */
  4. # include<stdio.h>
  5. # include<malloc.h>
  6. # include<string.h>
  7. int main(void)
  8. {
  9. char * c1 = "AbSjhhss";
  10. int len1 = strlen(c1);
  11. printf("len1 = %d\n", len1); //len1 = 8
  12. char c2[] = {'a', '4', 'r', 't', 'd'};
  13. int len2 = strlen(c2);
  14. printf("len2 = %d\n", len2); //..error..len2 = 9
  15. char c3[] = {'a', '4', 'r', 't', 'd', '\0'};
  16. int len3 = strlen(c3);
  17. printf("len3 = %d\n", len3); //len3 = 5
  18. char c4[10] = "AbS";
  19. int len4 = strlen(c4);
  20. printf("len4 = %d\n", len4); //len4 = 3
  21. char c5[4];
  22. int len5 = strlen(c5);
  23. printf("len5 = %d\n", len5); //len5 = 5
  24. /*
  25. c5[0] = '\0';
  26. len5 = strlen(c5);
  27. printf("len5 = %d\n", len5); //len5 = 0
  28. */
  29. c5[4] = '\0';
  30. len5 = strlen(c5);
  31. printf("len5 = %d\n", len5); //len5 = 4
  32. return 0;
  33. }
  34. /*
  35. 总结:如果字符数组,
  36. 1.用字符串(双引号"")初始化,用strlen函数可以求出该字符串的长度
  37. 2.用字符数组的形式({'',''})初始化,必须在最后面添加一个元素'\0'才可以。
  38. 所以:strlen() 从字符数组首地址开始,一直找下去,直到遇到'\0'才停止
  39. */

Center

发表评论

表情:
评论列表 (有 0 条评论,367人围观)

还没有评论,来说两句吧...

相关阅读