l565887 2022-03-20 17:41 采纳率: 0%
浏览 214

0x00007FFC6DE2D1E2 (ucrtbased.dll)处(位于 6.指针与动态内行申请.01486F340 时发生访问冲突。

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{

int i;//申请多大空间
scanf("%d", &i);
char* p;
p =(char*)malloc(i);//malloc申请空间的单位是字节
strcpy(p, "malloc success");
puts(p);
free(p);
return 0;
我想要达到的结果

这是为啥出错l

  • 写回答

2条回答 默认 最新

  • 九月de️云 2022-03-20 18:04
    关注

    strcpy 不会把字符串结尾的0 copy到buffer p;
    但puts函数字符串需要以0结尾,所以可能会出错
    另外可能是不是你输入的i 值太小了, 小于“malloc success"的长度?

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月20日

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算