从 C 中的索引构造字符串

标签 c string char

当我构造这样一个字符串时:

char string[1] = {'a'};
printf("%s", string)

它返回一个a4。 为什么最后是四?我怎样才能摆脱它?

我选择这种方法是因为我需要从字符索引中创建一个字符串,例如char array[4] = {string[i],string[j],string[k]}; .

最佳答案

您的字符串应以终止字符 '\0' 结尾 您可以通过以下方式做到这一点:

char string[2] = {'a','\0'};

或者:

char string[] = "a";

关于从 C 中的索引构造字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46227436/

相关文章:

c - 为什么信号处理程序中的 waitpid 需要循环?

python - 如何在编译时从 C 扩展模块检查 python API 的版本?

c - 错误 : control may reach end of non-void function in C - RecursiveSearch

java println ("a==b"+"is"+a==b) 打印 false 而不是 "a==b is true"

java - java中可变字符串和不可变字符串有什么区别

mysql - 将变量添加到 char *

c++ - 请求从 'KanjiCard*' 到非标量类型 'KanjiCard' 的转换(自定义枚举)

javascript - 使用正则表达式提取字符后的所有组

C++ - 如何检查 char* 是否指向有效的东西?

c - 如何将 char ASCII 转换为 C 中的十六进制等价物?