【笔试常考】C语言:深度剖析strlen,sizeof
2016-05-30 17:16
573 查看
在之前的博客中,我也探索过strlen,sizeof区别,详情可见博客/article/4218894.html。
关于strlen,sizeof均可求字符串长度,这两者是笔试面试常考的知识点。
本文出自 “Han Jing's Blog” 博客,请务必保留此出处http://10740184.blog.51cto.com/10730184/1740461
关于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
相关文章推荐
- 【C语言】注释不可以嵌套使用的举例
- 【C语言】局部变量、全局变量,局部静态变量,全局静态变量,extern,static的区别
- C/C++(&Java) Volatile关键词深度剖析
- C语言;在终端输入多行信息,找出包含“ould”的行,并打印改行。
- C语言:模拟实现printf,要求功能:print(&quot;ccc\ts!&quot;,&#39;b&#39;,&#39;i&#39;,&#39;t&#39;,&quot;welcome to you&quot;);
- 【C语言】编写冒泡排序,排序一个整形数组。
- 【C语言】reverse_str递归调用函数
- C语言:使用冒泡排序,排序多个字符串(优化)。
- C语言:冒泡法排序一组数,如何优化?
- C语言:调整数组使奇数全部都位于偶数前面。
- C语言:模拟实现memmove
- C语言:模拟实现memcpy
- 【笔试题】C语言:模拟实现strcmp
- 【笔试题】C语言:模拟实现strcat
- C语言:模拟实现strcpy
- 【笔试题】C语言:模拟实现strncmp
- 【笔试题】C语言:模拟实现strncat
- 【面试题】C语言:模拟实现strncpy,尝试比较strncpy与strcpy区别。
- 【面试题】C语言:模拟实现内存放置函数memset()
- 【面试题】C语言:模拟实现memcmp,试比较memcmp与strcmp,strncmp的区别