gpt4 book ai didi

c - 什么会将空字符串复制到另一个字符串?

转载 作者:行者123 更新时间:2023-11-30 18:45:30 25 4
gpt4 key购买 nike

我刚刚开始学习C 编程。当谈到字符串时,我对函数“strcpy”感到困惑。我尝试交换第一个参数和第二个参数的位置。当我运行该程序时,它只显示“S”。这是什么意思?

char s2[ ]= "Hello";
char s1[10];
strcpy(s2, s1);
printf("Source string = %s\n", s2);
printf("Target string = %s\n", s1);

我认为输出将为空。但它只显示一个“S”。

最佳答案

根据 printf 语句,您将 strcpy 的参数混合在一起。

现在,您正在将 s1 复制到 s2。然而,数组 s1 尚未初始化,因此它包含的值不确定

要将s2复制到s1,请切换参数:

strcpy(s1, s2);

如果保持原样,则需要显式将 s1 设置为空字符串以获得一致的结果。

char s1[10] = "";

关于c - 什么会将空字符串复制到另一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54504542/

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