【问题标题】:How to print all values in character array in C [closed]如何在C中打印字符数组中的所有值[关闭]
【发布时间】:2012-11-10 19:37:28
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

  • 如果我以明显(至少对我而言)的方式完成代码,我不会重现。请给出完整代码。
  • @H2CO3 由于calloc,所以存在终止零。
  • calloc() 应该这样做。 @H2CO3
  • 这就像一个魅力,看看:link to ideone
  • 代码运行良好ideone.com/49GA6P

标签: c++ arrays char cout


【解决方案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;
}

【讨论】:

  • 是的,现在可以了。不知何故,Eclipse 对我的工作很奇怪.. 谢谢!
猜你喜欢
  • 2011-07-28
  • 1970-01-01
  • 2020-06-19
  • 2015-01-31
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
相关资源
最近更新 更多