weixin_43591079 2021-07-02 23:07 采纳率: 100%
浏览 52
已采纳

0xC0000005: 写入位置 0x010DC000 时发生访问冲突。

我一新手,学习一小段C代码,遇到问题.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>
#define Str_num 128//字符串条数
#define Str_size 20//符串窜大小
#define Str_width 15//字符宽度

struct Rain
{
int x;
int y;
int speed;
char str[Str_size];
}rain[Str_num];

char Createch()
{
char temp = 0;
int flag = rand() % 3;
if (flag==0)
{
temp = rand() % 26 + 'A';//产生A-Z随机数
}
else if (flag == 1)
{
temp = rand() % 26 + 'a';
}
else
{
temp = rand() %10 +'0';
}
return temp;
}

void GameInit()
{
for (int i = 0; i< Str_num;i++)
{
for (int k = 0; i< Str_size;k++)
{
rain[i].str[k]=Createch();//对128个字符串逐个赋值
//strcpy(rain[i].str[k], Createch());
}
}
}

int main()
{
srand((unsigned)time(NULL));//随机数种子
GameInit();
for (int i = 0; i < Str_num; i++)
{
puts(rain[i].str);
//printf("%s", rain[i].str);
}
return 0;
}

产生如标题报警。
0x010D18E9 处(位于 Project22.exe 中)引发的异常: 0xC0000005: 写入位置 0x010DC000 时发生访问冲突。

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-07-02 23:09
    关注

    for (int i = 0; i< Str_num;i++)
    {
    for (int k = 0; i< Str_size;k++)

    第二层循环写错了,是k<Str_size,不是 i<Str_size

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
  • ¥15 资源泄露软件闪退怎么解决?
  • ¥15 各位佬,下面的问题怎么用python实现?
  • ¥15 CCF-CSP 2023 第三题 解压缩(50%)
  • ¥30 comfyui openpose报错
  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错
  • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出