【笔试常考】C语言:深度剖析strlen,sizeof

https://blog.csdn.net/hanjing_1995/article/details/51539532

 在之前的博客中,我也探索过strlen,sizeof区别,详情可见博客http://10740184.blog.51cto.com/10730184/1705820


    关于strlen,sizeof均可求字符串长度,这两者是笔试面试常考的知识点


[cpp]  view plain  copy
  1. #include<stdio.h>  
  2. #include<stdlib.h>  
  3. #include<string.h>  
  4.   
  5. //void Test1()  
  6. //{  
  7. //    char* arr = "hello world!";  
  8. //    int len1 = sizeof(arr);    //4,地址的大小均为4字节  
  9. //    int len2 = strlen(arr);    //12,找到‘\0’,共12字节  
  10. //    printf("sizeof:%d\n", len1);  
  11. //    printf("strlen:%d\n", len2);  
  12. //}  
  13.   
  14. //void Test2()  
  15. //{  
  16. //    char arr[20] = "hello world!";  
  17. //    int len1 = sizeof(arr);    //-->20只看类型大小  
  18. //    int len2 = strlen(arr);    //12,找到‘\0’,没有'\0'长度  
  19. //    printf("sizeof:%d\n", len1);  
  20. //    printf("strlen:%d\n", len2);  
  21. //}  
  22.   
  23. //void Test3()  
  24. //{  
  25. //    char arr[] = "hello world!";  
  26. //    int len1 = sizeof(arr);    //13,有‘\0’长度  
  27. //    int len2 = strlen(arr);    //12,找到'\0',无‘\0’长度  
  28. //    printf("sizeof:%d\n", len1);  
  29. //    printf("strlen:%d\n", len2);  
  30. //}  
  31.   
  32. //void Test4()  
  33. //{  
  34. //    char arr[] = { 'h', 'e', 'l', 'l', 'o' };  
  35. //    int len1 = sizeof(arr);    //5,自己判断出长度,无'\0'长度  
  36. //    int len2 = strlen(arr);    //随机值,找不到'\0'  
  37. //    printf("sizeof:%d\n", len1);  
  38. //    printf("strlen:%d\n", len2);  
  39. //}  
  40.   
  41. void Test5()  
  42. {  
  43.     char arr[10] ;  
  44.     int len1 = sizeof(arr);    //10,自己判断出长度,无'\0'长度  
  45.     int len2 = strlen(arr);    //随机值,找不到'\0'  
  46.     printf("sizeof:%d\n", len1);  
  47.     printf("strlen:%d\n", len2);  
  48. }  
  49. int main()  
  50. {  
  51.     /*Test1();*/  
  52.     /*Test2();*/  
  53.     /*Test3();*/  
  54.     /*Test4();*/  
  55.     Test5();  
  56.   
  57.     system("pause");  
  58.     return 0;  
  59. }  


本文出自 “Han Jing's Blog” 博客,请务必保留此出处http://10740184.blog.51cto.com/10730184/1740461

个人分类:  C语言

猜你喜欢

转载自blog.csdn.net/sinat_35297665/article/details/80568443