char a[4] = "abc";
size0f(a);// 结果为4
strlen(a);//结果为3
所以sizeof应该是判断实际的内存长度,而strlen则判断字符串内存中'\0'之前的长度
char a[4]={'a','b','c','d'};
sizeof(a);//结果为4
strlen(a);//结果不确定,因为char数组最后一个字符不是'\0',所以strlen函数会一直计数到出现'\0'为止
char a[4] = "abc";
size0f(a);// 结果为4
strlen(a);//结果为3
所以sizeof应该是判断实际的内存长度,而strlen则判断字符串内存中'\0'之前的长度
char a[4]={'a','b','c','d'};
sizeof(a);//结果为4
strlen(a);//结果不确定,因为char数组最后一个字符不是'\0',所以strlen函数会一直计数到出现'\0'为止
转载于:https://my.oschina.net/u/257448/blog/853340