返回的是什么 strlen(char 指针)?

What strlen(pointer of char) is returning?

我得到了以下代码:

char sir[1000], *psir;
cout << "Introduceti sirul de caractere: ";
strcpy(sir ,"merge") ;
int dim;
dim = sizeof(sir);
cout << "Dimensiunea zonei de memorie asociata variabilei masiv sir:"\
    << dim << endl;
dim = strlen(sir);
cout << "Lungimea sirului de caractere introdus:" << dim << endl;

psir = new char[dim + 1];
dim = strlen(psir);

当我 运行 这段代码时,我在最后一个语句中得到 22,但我不明白为什么。 有人可以解释一下吗?

您正在使用 New 创建一个新的字符数组,这很棒。但是它没有初始化,所以询问它的内容会得到意想不到的答案。