gpt4 book ai didi

c - StrCat 不适用于单字符字符串 - C

转载 作者:行者123 更新时间:2023-11-30 20:44:07 26 4
gpt4 key购买 nike

我正在使用下面的代码将一些“0”字符添加到我的字符串中,但似乎存在问题并且程序将崩溃。一切看起来都很合理,但我不知道问题出在哪里?

#include <stdlib.h>
#include <string.h>

int main()
{
char *Ten; int i=0; Ten = malloc(12);
Ten="1";
for (i=0;i<10;i++)
strcat(Ten,"0");

printf("%s",Ten);
return 0;
}

最佳答案

您将 Ten 声明为指向字符串文字的指针。但是,您不能依赖能够修改字符串文字,因此程序会崩溃。

要解决此问题,您可以将 Ten 声明为数组:

int main()
{
char Ten[12]="1"; int i=0;

for (i=0;i<10;i++)
strcat(Ten,"0");

printf("%s",Ten);
return 0;
}

请注意,您需要 12 个字节; 11 个字符,1 个终止 NUL 字符。

关于c - StrCat 不适用于单字符字符串 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27891370/

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