| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖
标题:求助 C 编译错误: stack around the variable 'a' was co rrupted ……如附 ...
只看楼主 加入收藏
hujianquan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-5-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
求助 C 编译错误: stack around the variable 'a' was co rrupted ……如附件中所示!
程序代码:
#include< stdio.h >

struct node{
    long num;
    struct node *next;
};

void main( )
{

    struct node a[ 10 ];
    
    int i; 
    int j;
    int m;
    //声明函数
    void Insert( struct node *head, struct node *no);

    //初始化
    for( m = 1; m < 11; m++ )
    {
        a[ m ].num = 0;
        a[ m ].next = NULL;
    }

    
    //更新
    for ( i= 1; i < 11; i ++ )
    {
        for( j = 1; j < 1000; j ++ )
        {
            struct node no, *head;
            no.num =j;
            no.next = NULL;
            head = &a[ i ];
            Insert( head, &no ); 
            printf( "%d\t", j );

            if( j == 20 )
                printf( "\n" );

             
        }
    }
};




void Insert( struct node *head, struct node *no )
{
    struct node *p0, *p1, *p2;
    p1 = head;
    p0 = no;

    if ( head -> next == NULL )
    {
        head = p0;
        p0 -> next = NULL;
    }
    else
    {
        while( ( p0 -> num > p1 -> num ) && ( p1 -> next != NULL ) )
        {
            p2 = p1;
            p1 = p1 -> next;
        }

        if( p0 -> num <= p1 -> num )
        {
            if( head == p1 )
            {
                head = p0;
            }
            else
            {
                p2 -> next = p0;
            }

            p0 -> next = p1;
        }
        else
        {
            p1 -> next = p0; p0 -> next = NULL;
        }
    }

        
}

[local]1[/local]
搜索更多相关主题的帖子: around color 
2014-05-27 00:44
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:10 
C++写的呀,C++能看懂,就是里面的一些表示方法不太明白

我不是砖家,要努力成为砖家。
2014-05-27 10:21
忘了_这一切
Rank: 3Rank: 3
来 自:星星
等 级:论坛游侠
威 望:1
帖 子:41
专家分:145
注 册:2014-4-25
收藏
得分:10 
程序代码:
#include< stdio.h >

struct node{
    long num;
    struct node *next;
};

void main( )
{
    
    struct node a[ 10 ];
    
    int i; 
    int j;
    int m;
    //声明函数
    void Insert( struct node *head, struct node *no);
    
    //初始化
    for( m = 0; m < 10; m++ )   //这里m的取值需要修改,要不然会出现a[10]越界了!
    {
        a[ m ].num = 0;
        a[ m ].next = NULL;
    }
    
    
    //更新
    for ( i= 0; i < 10; i ++ )       //同上!
    {
        for( j = 1; j < 1000; j ++ )
        {
            struct node no, *head;
            no.num =j;
            no.next = NULL;
            head = &a[ i ];
            Insert( head, &no ); 
            printf( "%d\t", j );
            
            if( j == 20 )
                printf( "\n" );
            
            
        }
    }
};




void Insert( struct node *head, struct node *no )
{
    struct node *p0, *p1, *p2;
    p1 = head;
    p0 = no;
    
    if ( head -> next == NULL )
    {
        head = p0;
        p0 -> next = NULL;
    }
    else
    {
        while( ( p0 -> num > p1 -> num ) && ( p1 -> next != NULL ) )
        {
            p2 = p1;
            p1 = p1 -> next;
        }
        
        if( p0 -> num <= p1 -> num )
        {
            if( head == p1 )
            {
                head = p0;
            }
            else
            {
                p2 -> next = p0;
            }
            
            p0 -> next = p1;
        }
        else
        {
            p1 -> next = p0; p0 -> next = NULL;
        }
    }
    
    
}


修改后运行能显示12至999的数据,不知道是不是你想要的,其他的没怎么仔细看
2014-05-27 10:49
忘了_这一切
Rank: 3Rank: 3
来 自:星星
等 级:论坛游侠
威 望:1
帖 子:41
专家分:145
注 册:2014-4-25
收藏
得分:0 
回复 2 楼 砖家的谎言
明明是用C写的链表,哪里来的C++
2014-05-27 10:51
hujianquan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-5-27
收藏
得分:0 
回复 3 楼 忘了 _ 这一切
谢谢老师,是这样的!
2014-05-27 12:29
快速回复:求助 C 编译错误: stack around the variable 'a' was co rrupted …… ...
数据加载中...
 
   



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

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