【发布时间】:2021-08-22 17:00:31
【问题描述】:
这是简单的c程序
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "sandeep";
char str2[] = "sahani";
strcat(str1, str2);
printf("%s %s", str1, str2);
return 0;
}
strcat(str1, str2); 行给出错误,但该行程序没有运行。
我使用的代码编辑器是 Mac OS
中的 VS code【问题讨论】:
-
请edit您的问题包含您在执行代码时收到的完整完整错误消息。还要详细解释你是如何编译和运行你的程序的。
-
用你自己的话说,当你写
char str1[] = "sandeep";时,你期望分配多少字节的存储空间来存储数据?为什么?如果您尝试将更多数据附加到末尾,您期望会发生什么?为什么? -
C 中的字符串变量是 not 魔法容器,它会自动增长以容纳您尝试在其中容纳的任何字符串。在构造新字符串时——即使是在使用像
strcat这样的库函数时——你的工作要确保分配了足够的内存来保存最终结果。 -
您是否尝试将例如
strcat crash放入搜索引擎,或查看strcat的文档,或在 Stack Overflow 上搜索? -
@Carcigenicate 它工作了先生,感谢您的帮助。????