| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 438 人关注过本帖
标题:内存冲突问题,求解释。
只看楼主 加入收藏
纪老猴子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-4-13
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:1 
内存冲突问题,求解释。
程序代码:
#define _STDC_WANT_LIB_EXT1_1
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>


typedef struct horse horse;
struct horse
{
    int age;
    char name[10];
    char father[10];
    char mother[10];
    horse *next;
    horse *previous;
};

int main ()
{
    horse *first=NULL;
    horse *current=NULL;
    horse *last=NULL;

    char test='\0';
    for ( ; ;)
    {
        printf("Do you want to enter details of a%s horse (Y or N)",first==NULL?"":"nother");
        scanf("%c",&test);
        if (tolower(test)=='n')
        {
            break;
        }

        current=(horse*)malloc(sizeof(horse));
        if(first==NULL)
        {
            first=current;
            current->next=NULL;
        }
        else
        {
            last->next=NULL;
            current->previous=last;
        }

        printf("Please input the name of the horse:");
        scanf("%s",current->name);
        putchar (10);
        printf("Please input the age of the horse:");
        scanf("%d",&current->age);
        putchar (10);
        printf("Please input the father of the horse:");
        scanf("%s",current->father);
        putchar (10);
        printf("please input the mother of the horse:");
        scanf("%s",current->mother);
        putchar (10);
        current->next=NULL;
        last=current;
        fflush(stdin);
    }
    putchar (10);
    while (current!=NULL)
    {
        printf("%s is %d years old,and its mother is %s,its father is %s",current->name,current->age,current->mother,current->father);
        last=current;
        current=current->previous;
        free(last);
        last=NULL;
    }
    first=NULL;
    system("pause");
    return 0;
}






本人使用visual c++2010编译器,编译无错误,一下是运行结果:
图片附件: 游客没有浏览图片的权限,请 登录注册
2014-05-01 22:28
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:10 
first->previous = ?
last->next      = ?


[fly]存在即是合理[/fly]
2014-05-01 23:55
快速回复:内存冲突问题,求解释。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017451 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved