https://blog.csdn.net/hanjing_1995/article/details/51539532
?在之前的博客中,我也探索過strlen,sizeof區別,詳情可見博客http://10740184.blog.51cto.com/10730184/1705820。
????關于strlen,sizeof均可求字符串長度,這兩者是筆試面試常考的知識點。
- #include<stdio.h>??
- #include<stdlib.h>??
- #include<string.h>??
- ??
- //void?Test1()??
- //{??
- //????char*?arr?=?"hello?world!";??
- //????int?len1?=?sizeof(arr);????//4,地址的大小均為4字節??
- //????int?len2?=?strlen(arr);????//12,找到‘\0’,共12字節??
- //????printf("sizeof:%d\n",?len1);??
- //????printf("strlen:%d\n",?len2);??
- //}??
- ??
- //void?Test2()??
- //{??
- //????char?arr[20]?=?"hello?world!";??
- //????int?len1?=?sizeof(arr);????//-->20只看類型大小??
- //????int?len2?=?strlen(arr);????//12,找到‘\0’,沒有'\0'長度??
- //????printf("sizeof:%d\n",?len1);??
- //????printf("strlen:%d\n",?len2);??
- //}??
- ??
- //void?Test3()??
- //{??
- //????char?arr[]?=?"hello?world!";??
- //????int?len1?=?sizeof(arr);????//13,有‘\0’長度??
- //????int?len2?=?strlen(arr);????//12,找到'\0',無‘\0’長度??
- //????printf("sizeof:%d\n",?len1);??
- //????printf("strlen:%d\n",?len2);??
- //}??
- ??
- //void?Test4()??
- //{??
- //????char?arr[]?=?{?'h',?'e',?'l',?'l',?'o'?};??
- //????int?len1?=?sizeof(arr);????//5,自己判斷出長度,無'\0'長度??
- //????int?len2?=?strlen(arr);????//隨機值,找不到'\0'??
- //????printf("sizeof:%d\n",?len1);??
- //????printf("strlen:%d\n",?len2);??
- //}??
- ??
- void?Test5()??
- {??
- ????char?arr[10]?;??
- ????int?len1?=?sizeof(arr);????//10,自己判斷出長度,無'\0'長度??
- ????int?len2?=?strlen(arr);????//隨機值,找不到'\0'??
- ????printf("sizeof:%d\n",?len1);??
- ????printf("strlen:%d\n",?len2);??
- }??
- int?main()??
- {??
- ????/*Test1();*/??
- ????/*Test2();*/??
- ????/*Test3();*/??
- ????/*Test4();*/??
- ????Test5();??
- ??
- ????system("pause");??
- ????return?0;??
- }??
本文出自 “Han Jing's Blog” 博客,請務必保留此出處http://10740184.blog.51cto.com/10730184/1740461