【发布时间】:2013-09-12 09:29:20
【问题描述】:
我不确定通过以下方式初始化后 char 数组中的内容。
1.char buf[10] = "";
2.char buf[10] = " ";
3.char buf[10] = "a";
对于案例2,我认为buf[0]应该是' ',buf[1]应该是'\0',并且从buf[2]到buf[9]将是随机内容。对于案例3,我认为buf[0]应该是'a',buf[1]应该是'\0',并且从buf[2]到buf[9]将是随机内容。
对吗?
对于案例 1,buf 中的内容是什么? buf[0] == '\0' 和从buf[1] 到buf[9] 会是随机内容吗?
【问题讨论】:
-
好吧,我的编译器不接受你的(更正后的)代码:“数组类型'char [10]'不可赋值”。
-
@MartinR 现在可以工作了...
-
@lkkeepmoving:
char buf[10]; buf = "a";not 编译。 - 请先尝试,然后将您的实际代码复制/粘贴到问题中。这为您和您问题的所有读者节省了大量工作。 -
@MartinR 抱歉。我以为我可以分配 buf[] 后者,但似乎不行。现在代码运行。
标签: c arrays char initialization buffer