0

您能帮我解释一下为什么这段代码没有按预期打印 '*' 字符的 char 数组吗?

int n = 10;
char *cs = (char*) calloc(n + 1, sizeof(char));
for (int i = 0; i < n; i++) {
    cs[i] = '*';
}
cout << cs << endl;

谷歌搜索了很多,但在任何地方都没有发现同样的问题..

谢谢!

4

1 回答 1

1

我在工作室中编写了相同的代码,对我来说它工作正常。给予*作为输出。

int main()
{
    int n=10;
    char *cs = (char*) calloc(n+1, sizeof(char));
    for (int i=0; i<n; i++) {
        cs[i] = '*';
    }
    cout << cs << endl;
    return 0;
}
于 2012-11-10T19:50:37.820 回答