Lemonade206 2022-11-07 22:58 采纳率: 50%
浏览 9
已结题

关于数组学习中的一个问题

#include <stdio.h>
#include <string.h>
void main()
{
char str[20],str1[7]="ABC",str2[]="DEFGHI";
char *p2="BCD",*p1="ABC";
strcpy(str,str1);
// C语言字符串赋值不能写为 str=str1;
int equ=strcmp(str1,str2);
equ= (str1>str2);
// C语言字符串比较不能写为 equ=(str1==str2);
strcat(str1,str2); //将str2的内容追加在str1的后面
bool a=("ABC">"BCD");
int len = strlen(str2);
// 字符串str2的长度为3,虽然它在内存占有4字节的空间
// 因为添加一个\0字符作为字符串结束标志
puts(str1); //输出字符串str1的内容
printf("abc\123\\b\0EF");
}

img


请问是哪个语句导致的,原因是什么?

  • 写回答

1条回答 默认 最新

  • 叶落花枯 2022-11-07 23:22
    关注

    strcat(str1,str2); 这一句 str1 越界了,数组长度只有7,把str2拼接上去肯定超了

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月8日
  • 创建了问题 11月7日

悬赏问题

  • ¥15 CCF-CSP 2023 第三题 解压缩(50%)
  • ¥100 网页游戏在本地页面修改游戏结果
  • ¥30 comfyui openpose报错
  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错
  • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
  • ¥100 matlab2009 32位一直初始化
  • ¥15 Expected type 'str | PathLike[str]…… bytes' instead