如何在 C++ 中将 char 转换为 char[]?

问题描述 投票:0回答:1

发生什么事了?我只想用一个元素转换列表中的字符。我希望 s 是“t”,但它给出了一个奇怪的输出。

int main(){
  char c = 'z';
  char s[] = {c};

  printf("End: %c, %s", c, s);
}

输出:

End: z, zz♀ a

c++ char
1个回答
0
投票

您将

s
打印出来,就好像它是一个字符串一样,这意味着
printf
希望它以 null 结尾。

您可以明确添加它:

char s[] = {c, '\0'};

或者,您可以将

s
视为数组并单独打印出其元素,而不是将其视为字符串:

char s[] = {c};
int len = 1;

for (int i = 0; i < len; ++i) {
  printf("%c\n", s[i]);
}
© www.soinside.com 2019 - 2024. All rights reserved.