uniquebug 2017-06-08 09:12 采纳率: 100%
浏览 1493
已采纳

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

 #include <stdio.h>
#include <stdlib.h>
#define MAX 20

struct node
{
    char strings[MAX];
    struct node *next;
};

struct node *creat(struct node *head)
{
    int i;
    int counter = 1;
    char input[MAX];
    struct node *new;
    struct node *pointer;

    printf("请向链表中存入第%d个字符串\n", counter);
    scanf_s("%s", input);
    for (i = 0; i < MAX; i++)
    {
        head->strings[i] = input[i];
    }
    head->next = NULL;
    pointer = head;
    counter++;
    while (counter <= 10)
    {
        new = (struct node*)malloc(sizeof(struct node));
        printf("请向链表中存入第%d个字符串\n", counter);
        scanf_s("%s", input);
        for (i = 0; i < MAX; i++)
        {
            new->strings[i] = input[i];
        }
        new->next = NULL;
        pointer->next = new;
        pointer = new;

        counter++;
    }

    return head;
}

struct node *reverse(struct node *head)
{
    struct node *tail;
    struct node *next;
    struct node *pointer;

    tail = NULL;
    next = head->next;
    pointer = head;             //初始化

    while (head != NULL)
    {
        head->next = tail;      
        tail = head;
        head = next;
        next = head->next;
    }

    return tail;

}

void print(struct node* head)
{
    struct node *pointer;
    int counter = 1;
    pointer = head;

    while (pointer != NULL)
    {
        printf("第%d个节点的数据是:%s", counter, pointer->strings);
        counter++;
        pointer = pointer->next;
    }
}

int main()
{
    struct node *head;
    head = (struct node*)malloc(sizeof(struct node));

    head = creat(head);
    head = reverse(head);
    print(head);

    system("PAUSE");
    return 0;

}

运行时第一次输入数据后便出错弹出0xC0000005: 写入位置 0x01300000 时发生访问冲突。请指教!

  • 写回答

1条回答 默认 最新

  • 战在春秋 2017-06-08 09:33
    关注

    不同于scanf,使用scanf_s需要确定缓冲区的长度。

     scanf_s("%s", input);
    

    应修改为

     scanf_s("%s", input,sizeof(input));
    

    详细可参考:

    https://msdn.microsoft.com/en-us/library/w40768et.aspx

    用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于温度改变石墨烯介电性能(关键词-介电常数)
  • ¥150 HDMI分路器LT86102 的输出在890MHz频点处EMC超标8DB
  • ¥15 druid(相关搜索:数据库|防火墙)
  • ¥15 大一python作业
  • ¥15 preLaunchTask"C/C++: aarch64- apple-darwin22-g++-14 生成活动 文件”已终止,退出代码为-1。
  • ¥60 如何鉴定微信小程序数据被篡改过
  • ¥18 关于#贝叶斯概率#的问题:这篇文章中利用em算法求出了对数似然值作为概率表参数,然后进行概率表计算,这个概率表是怎样计算的呀
  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥20 手机截图相片分辨率降低一半