| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 727 人关注过本帖, 1 人收藏
标题:求各位大哥解决,编写的一个链表编译没通过
只看楼主 加入收藏
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:10 
求各位大哥解决,编写的一个链表编译没通过
声明部分:
#ifndef _LIST_
#define _LIST_

#include<stdio.h>
#include<stdlib.h>
#include<strings.h>

typedef int data_t;
typedef struct node{
    data_t data;
    struct node *next;
}NODE;

NODE *creat_node(data_t data);
int isnull( NODE *head);
void insert( NODE *head, data_t data, int n);
void _delete( NODE *head, data_t data);
void show_link( NODE *head);

#endif
函数体部分:
#include "blink.c"

NODE *creat_node(data_t data)
{
    NODE *link_node = (NODE *)malloc(sizeof(NODE));
    if( NULL == link_node )
        exit(-1);
    link_node->data = data;
    link_node->next = NULL;
    return link_node;
}

int isnull(NODE *head)
{
    return head->next == NULL ? 1 : 0;
}

void insert(NODE *head, data_t data, int n)
{
    int i;
    NODE *link_node = creat_node(data);
    for( i=1; i<n; i++)
    {   
        head = head->next;
    }
    link_node->next = head-next;
    head->next = link_node;
}

void _delete(NODE *head, data_t data)
{   
    NODE *p =NULL;
    while( head->next )
    {
        p = head;
        head = head->next;
        if( data == head->data )
        {
            p->next = head->next;
            free(head);
        }
    }   
}

void show_link(NODE *head)
{
    while( head->next )
    {   
        head = head->next;
        printf("%d", head->data);
    }
    printf("\n");
}

main函数:
#include "blink.h"

void main()
{   
    int j = 0;
    int i = 10;
    NODE *head = creat_node(-1);
    while( i-- )
    {
        j++;
        insert(head, i, j);
    }
    show_link(head);
}
编译显示:
blink.c:3: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
blink.c:13: error: expected ‘)’ before ‘*’ token
blink.c:18: error: expected ‘)’ before ‘*’ token
blink.c:30: error: expected ‘)’ before ‘*’ token
blink.c:45: error: expected ‘)’ before ‘*’ token
In file included from blink.c:1,
                 from blink.c:1,
                 from blink.c:1,
                 from blink.c:1,
                 from blink.c:1,
                 from blink.c:1,
                 from blink.c:1,
                 from blink.c:1,
                 from blink.c:1,
                 from blink.c:1,
                 from blink.c:1:

搜索更多相关主题的帖子: insert include 大哥 void 
2012-08-04 19:28
随风飘荡
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:208
专家分:598
注 册:2011-9-9
收藏
得分:10 
夜深睡不着了,完了

程序代码:
[color=#0000FF]#include <strings.h> // 不是include <string.h> 么,加上我也没看到要用到string的...嗯

insert:
     int i;
    NODE *link_node = creat_node(data);
    for( i=1; i<n; i++)           
    { 
        head = head->next;
    }
    link_node->next = head-next; // head->next
    head->next = link_node;
[/color]


[ 本帖最后由 随风飘荡 于 2012-8-5 04:30 编辑 ]
2012-08-05 04:13
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:0 
谢谢!不过问题还没解决,每次编译时那串问题要重复N多次,#include<strings.h>这个不好意思,真是让人费解,我之前写顺序表时用bzero()函数来清理空间,就习惯地加在头了
2012-08-05 08:53
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:10 
#include "blink.c"
为何要包含c文件?看着好像blink.c的己包含自己

[ 本帖最后由 embed_xuel 于 2012-8-5 09:05 编辑 ]

总有那身价贱的人给作业贴回复完整的代码
2012-08-05 08:57
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:0 
我虚拟机上没安装汉语输入,所以好多没说明,真是不好意思,在说明下void insert(NODE *head, data_t data, int n) head是头链表地址, data是要插入的数据,n是插入位置0代表头。 我就是搞不明白那个编译错误提示,求各位大哥解释,好像意思是什么东东重命令了,就是搞不明白。
2012-08-05 09:05
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:0 
回复 4楼 embed_xuel
那是我放在同一目录的三个文件
2012-08-05 09:08
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:0 
回复 4楼 embed_xuel
非常感谢这位大哥,你说的是,就是这个原因,我刚学C语言经常出这种毛病,就这点难我两天了,郁闷啊
2012-08-05 09:16
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 6楼 遗矢的老人
哪三个文件?blink.c里面#include "blink.c",你的类型定义都在blink.h里面,是这样吗?

总有那身价贱的人给作业贴回复完整的代码
2012-08-05 09:17
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:0 

blink.h 文件
#ifndef _LIST_
#define _LIST_

#include<stdio.h>
#include<stdlib.h>
#include<strings.h>

typedef int data_t;
typedef struct node{
    data_t data;
    struct node *next;
}NODE;

NODE *creat_node(data_t data);
int isnull( NODE *head);
void insert( NODE *head, data_t data, int n);
void _delete( NODE *head, data_t data);
void show_link( NODE *head);

#endif

blink.c文件
#include "blink.h"

NODE *creat_node(data_t data)
{
    NODE *link_node = (NODE *)malloc(sizeof(NODE));
    if( NULL == link_node )
        exit(-1);
    link_node->data = data;
    link_node->next = NULL;
    return link_node;
}

int isnull(NODE *head)
{
    return head->next == NULL ? 1 : 0;
}

void insert(NODE *head, data_t data, int n)
{
    int i;
    NODE *link_node = creat_node(data);
    for( i=1; i<n; i++)
    {   
        head = head->next;
    }
    link_node->next = head->next;
    head->next = link_node;
}

void _delete(NODE *head, data_t data)
{   
    NODE *p =NULL;
    while( head->next )
    {
        p = head;
        head = head->next;
        if( data == head->data )
        {
            p->next = head->next;
            free(head);
        }
    }
    printf("%d outwith the link!\n", data);   
}

void show_link(NODE *head)
{
    while( head->next )
    {   
        head = head->next;
        printf("%d", head->data);
    }
    printf("\n");
}

main.c文件

#include "blink.h"

void main()
{   
    int j = 0;
    int i = 10;
    NODE *head = creat_node(-1);
    while( i-- )
    {
        j++;
        insert(head, i, j);
    }
    show_link(head);
    if( !isnull(head) )
        _delete(head, 10);
    show_link(head);
}
谢谢大家支持,我把代码分享在这里,初学者可以观看。
我再写个排序
2012-08-05 09:40
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:0 
回复 8楼 embed_xuel
嗯 ,对的,非常感谢!
2012-08-05 09:45
快速回复:求各位大哥解决,编写的一个链表编译没通过
数据加载中...
 
   



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

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