gpt4 book ai didi

c - C 中的字符串和 strcpy

转载 作者:行者123 更新时间:2023-12-02 06:33:48 24 4
gpt4 key购买 nike

我正在学习 C 编程的基础知识,我想测试一些字符串的行。

这是我的代码:

int main(){
char a[] = "abc";
strcpy(a,"pqrst");
printf("%s; %d",a, sizeof(a));
}

我希望代码输出 size=6(p、q、r、s、t 和 '\0'),但它仍然打印 size=4。这是如何工作的?

最佳答案

sizeof 是在编译时计算的,基于 a 的声明,它有 4 个字符(3 + 1 个空终止符)。需要注意的是数组的大小和数组中字符串的长度不是一回事。

此外,副本溢出了缓冲区。您必须创建一个足够大的数组来容纳要复制的字符串。

关于c - C 中的字符串和 strcpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25192117/

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