为什么会这样,使用的是软件是 vs2022
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i;
scanf("%d", &i);
char* p;
p = (char*)malloc(i);
char c;
scanf("%c", &c);//去除缓冲区内的\n 上面一个scanf输入的是 10\n 只会读取走10 留下\n
gets(p);
puts(p);
return 0;
}
0x00007FFC4F88F130 (ucrtbased.dll)处(位于 Project2.exe 中)引发的异常: 0xC0000005: 写入位置 0xFFFFFFFFDD29FB00 时发生访问冲突。
学习malloc
供参考:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
scanf("%d", &i);
char* p;
p = (char*)malloc(sizeof(char) * i);
char c;
scanf("%c", &c);//去除缓冲区内的\n 上面一个scanf输入的是 10\n 只会读取走10 留下\n
gets(p);
puts(p);
return 0;
}
多分配点啊
那你输入的i和p是什么啊