| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 603 人关注过本帖
标题:请问错哪里啦啦阿拉啦!!!!
只看楼主 加入收藏
daydreamhapp
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-3-17
收藏
 问题点数:0 回复次数:5 
请问错哪里啦啦阿拉啦!!!!
#include<stdio.h>
#include<stdlib.h>

#define Max 10

struct List
{
    int number;
    struct List *next;
};
typedef struct List Node;
typedef Node* link;

link Create_list(link head)
{
    link pointer,New;
    int i,k;
    pointer=head;
    for(i=0;i<Max;i++)
    {
        New=(link)malloc(sizeof(Node));
        scanf("%d",&k);
        New->number=k;
        pointer->next=New;
        pointer=New;
    }
    return (head);
}

void Print_list(link head)
{
    link pointer;
    pointer=head;
    while(pointer!=NULL)
    {
        printf("%d",pointer->number);
        pointer=pointer->next;
    }
}

void main()
{
    link Head;
    Head=(link)malloc(sizeof(Node));
    Head=Create_list(Head);
    Print_list(Head);
}
搜索更多相关主题的帖子: head next include number return 
2012-03-17 21:24
hunanlzg
Rank: 2
等 级:论坛游民
帖 子:11
专家分:43
注 册:2012-3-17
收藏
得分:0 
朋友,你这个程序是要输入10个数字到链表中,然后输出是吗? 你在main函数中建立了一个头节点,但是要把头节点的next 值为NULL,要不你等下while循环就有问题,还有在链表插入数字时你有点小问题,下面是我帮你改的程序,不知道你是否满意。
#include<stdio.h>
 #include<stdlib.h>
 
#define Max 10
 
struct List
 {
     int number;
     struct List *next;
 };
 typedef struct List Node;
 typedef Node* link;
 
link Create_list(link head)
 {
     link pointer,New;
     int i,k;
     pointer=head;
     for(i=0;i<Max;i++)
     {
         New=(link)malloc(sizeof(Node));
         scanf("%d",&k);
         New->number=k;
         New->next=pointer->next;  //这个地方移动的时候 你自己再想想是不是少了这步不行
         pointer->next=New;
         pointer=New;
     }
     return (head);
 }
 
void Print_list(link head)
 {
     link pointer;
     pointer=head;
     pointer=pointer->next;
     while(pointer!=NULL)
     {
         printf("%d",pointer->number);
         pointer=pointer->next;
     }
 }
 
void main()
 {
     link Head;
     Head=(link)malloc(sizeof(Node));
     Head->next=NULL;          //头节的的next为NULL
     Head=Create_list(Head);
     Print_list(Head);
 }
2012-03-18 22:23
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:0 
以下是引用hunanlzg在2012-3-18 22:23:33的发言:

朋友,你这个程序是要输入10个数字到链表中,然后输出是吗? 你在main函数中建立了一个头节点,但是要把头节点的next 值为NULL,要不你等下while循环就有问题,还有在链表插入数字时你有点小问题,下面是我帮你改的程序,不知道你是否满意。
#include<stdio.h>
 #include<stdlib.h>
 
#define Max 10
 
struct List
 {
     int number;
     struct List *next;
 };
 typedef struct List Node;
 typedef Node* link;
 
link Create_list(link head)
 {
     link pointer,New;
     int i,k;
     pointer=head;
     for(i=0;i<Max;i++)
     {
         New=(link)malloc(sizeof(Node));
         scanf("%d",&k);
         New->number=k;
         New->next=pointer->next;  //这个地方移动的时候 你自己再想想是不是少了这步不行
         pointer->next=New;
         pointer=New;
     }
     return (head);
 }
 
void Print_list(link head)
 {
     link pointer;
     pointer=head;
     pointer=pointer->next;
     while(pointer!=NULL)
     {
         printf("%d",pointer->number);
         pointer=pointer->next;
     }
 }
 
void main()
 {
     link Head;
     Head=(link)malloc(sizeof(Node));
     Head->next=NULL;          //头节的的next为NULL
     Head=Create_list(Head);
     Print_list(Head);
 }

好好学习

编程之路定要走完……
2012-03-20 15:29
dingzy2010
Rank: 2
等 级:论坛游民
帖 子:14
专家分:20
注 册:2012-4-15
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>

#define Max 10

struct List
{
    int number;
    struct List *next;
};
typedef struct List Node;
typedef Node* link;

link Create_list(link head)
{
    link pointer,New;
    int i,k;
    pointer=head;
    printf("1111111\n");
    for(i=0;i<Max;i++)
    {
        New=(link)malloc(sizeof(Node));
        scanf("%d",&k);
        New->number=k;
        New->next=pointer->next;//这里我用的是逆序建表
        pointer->next=New;
    }
    return (head);
}

void Print_list(link head)
{
    link pointer;
    pointer=head;
    pointer=pointer->next;
    while(pointer!=NULL)
    {
        printf("%d\n",pointer->number);
        pointer=pointer->next;
    }
}

void main()
{
    link Head;
    Head=(link)malloc(sizeof(Node));
    Head->next=NULL;
    Head=Create_list(Head);
    Print_list(Head);
}
我也是刚学的、、、、
2012-04-16 22:58
ran5515
Rank: 2
等 级:论坛游民
帖 子:11
专家分:20
注 册:2012-4-13
收藏
得分:0 
回复 楼主 daydreamhapp
#include<stdio.h>
#include<stdlib.h>
 
#define Max 10
 
struct List
 {
     int number;
     struct List *next;
 };
 typedef struct List Node;
 typedef Node* link;
 
link Create_list(link &head)
 {
     link pointer,New;
     int i,k;
     pointer=(link)malloc(sizeof(Node));//注意,要为pointer分配区域,
     //否则下面循环中pointer->next意义何在?
     //pointer=head;//这是创造链表,head还无意义,分配给pointer干嘛呢?
     for(i=0;i<Max;i++)
     {
         New=(link)malloc(sizeof(Node));
         New->next=NULL;//必须赋为NULL,否则下面函数中pointer!=NULL无意义;
         scanf("%d",&k);
         New->number=k;
         pointer->next=New;
         pointer=New;
         if(i==0)head->next=New;//用head作为头结点的指针;
     }
     return (head);
 }
 
void Print_list(link &head)
 {
     link pointer;
     pointer=head->next;//attention
     while(pointer!=NULL)//attention
     {
         printf("%d",pointer->number);//这个输出很不标准
         //空格啊,换行啊,还是打上好
         pointer=pointer->next;
     }
 }
 
void main()
 {
     link Head;
     Head=(link)malloc(sizeof(Node));
     //Head->next=NULL;//在我这里可以不要这个
     Head=Create_list(Head);
     Print_list(Head);
 }
2012-04-17 13:06
ran5515
Rank: 2
等 级:论坛游民
帖 子:11
专家分:20
注 册:2012-4-13
收藏
得分:0 
回复 5楼 ran5515
我也刚学,晕了。。逃了很多课,现在在补、、、
2012-04-17 13:11
快速回复:请问错哪里啦啦阿拉啦!!!!
数据加载中...
 
   



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

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