【发布时间】:2014-10-01 22:19:34
【问题描述】:
我试图测试sizeof 和strlen 的区别,但我今天发现了一些奇怪的东西。
代码如下。
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char a[]={"I am a boy"};
char b[]={'I',' ','a','m',' ','a',' ','b','o','y'};
cout << "sizeof(a) = " << sizeof(a) << endl << "sizeof(b) = " << sizeof(b) <<endl;
cout << "strlen(a) = "<< strlen(a) << endl << "strlen(b) = " << strlen(b) << endl;
return 0;
}
结果如下:
sizeof(a) = 11
sizeof(b) = 10
strlen(a) = 10
strlen(b) = 11
我知道结果的前三行,但我不明白为什么strlen(b) 是 11。有人可以帮我吗?
【问题讨论】: