学c的时候练习题中碰到的问题

CSDN问答 2022-06-24 09:35:18 阅读数:679

练习练习题习题碰到题中
问题遇到的现象和发生背景

做的练习题,已经照着能运行的标准答案修改了,但是依旧会报错

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

#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);
gets(p);
puts(p);
return 0;
}

运行结果及报错内容

运行到puts(p)的地方就会报错
0x00007FFEE220F130 (ucrtbased.dll)处(位于 作业.exe 中)引发的异常: 0xC0000005: 写入位置 0xFFFFFFFFC3A0EDB0 时发生访问冲突。

img

我的解答思路和尝试过的方法

尝试过把puts(p)换成printf("%s",p),结果还是会在printf的地方报错

我想要达到的结果

解决报错问题,想知道这会不会是我电脑的问题

版权声明:本文为[CSDN问答]所创,转载请带上原文链接,感谢。 https://ask.csdn.net/questions/7744348