gpt4 book ai didi

c - 特殊字符串

转载 作者:太空宇宙 更新时间:2023-11-04 05:37:22 26 4
gpt4 key购买 nike

我需要使用特殊字符的字符串,例如:!,",#,~

如果我这样做:

char arr[10]  = "''''''''''";
char arr1[10] = "!!!!!!!!!!";
char arr2[10] = "##########";
printf("%s\t%s\t%s\n",arr,arr1,arr2);

然后 printf 打印字符串和一些垃圾。

我哪里错了?

最佳答案

字符数组(也称为 C 字符串)以 null 结尾,因此您需要在数组中添加一个额外的索引来存储空字符。如果你需要一个 10 个字符的字符串,你需要创建一个可以存储 11 个字符的字符串(空字符的额外字符 '\0' )

因此,将您的代码更改为

char arr[11]  = "''''''''''";
char arr1[11] = "!!!!!!!!!!";
char arr2[11] = "##########";
printf("%s\t%s\t%s\n",arr,arr1,arr2);

或者更好,正如@TheParamagneticCroissant 所建议的那样,您可以这样做

char arr[]  = "''''''''''";
char arr1[] = "!!!!!!!!!!";
char arr2[] = "##########";
printf("%s\t%s\t%s\n",arr,arr1,arr2);

有了这个,编译器会自己找出长度。

关于c - 特殊字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29888862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com