| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 716 人关注过本帖
标题:链表程序在vc中运行问题!!
只看楼主 加入收藏
ljw4010
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2013-11-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
链表程序在vc中运行问题!!
程序代码:
#include <stdio.h>
#include <stdlib.h>

typedef struct Node
{
    int DATA;//shujvyu 
    struct Node *pNext; 
}NODE,* PNODE ;//NODE等价于 structural Node;PNODE等价于struct node*


int main(void)
{
    PNODE create_list(void);
    void traverse_list(pHead);
    PNODE pHead=NULL;//等价于struct Node *pHead=NULL
    pHead=create_list();
    traverse_list(pHead);

return 0;
}

PNODE create_list(void)
{
    int len,i;
    int val;

    PNODE pHead1=(PNODE)malloc(sizeof(NODE));

    if (NULL==pHead1)
        {printf("fenpeishibai ,chengxvzhongzhi!");
            exit(-1);
        }

    PNODE pTail=pHead1;
    pTail->pNext=NULL;

    printf("qingshurujiedianshu :len =");
    scanf("%d",&len);

    for (i=0;i<len;i++)
        {
            printf("qingshuru di %d jiedian shujv :",i+1);
            scanf("%d",&val);

            PNODE pNew=(PNODE)malloc(sizeof(NODE));
                if (NULL==pNew)
                    {
                        printf("fenpeishibai ,chengxvzhongzhi!");
                        exit(-1);
                    }

            pNew->DATA=val;

            pTail->pNext=pNew;
            pNew->pNext=NULL;
            pTail=pNew;


}

    return pHead1;

}
void traverse_list(PNODE pHead)
{
    PNODE p= pHead->pNext;

    while(NULL!=p)
    {
        printf("%d",p->DATA);
        p=p->pNext;
    }
    printf("\n");
}
    


vc显示错误为:
程序代码:
D:\vc\MSDev98\MyProjects\链表\链表.c(34) : error C2275: 'PNODE' : illegal use of this type as an expression
        D:\vc\MSDev98\MyProjects\链表\链表.c(8) : see declaration of 'PNODE'
D:\vc\MSDev98\MyProjects\链表\链表.c(34) : error C2146: syntax error : missing ';' before identifier 'pTail'
D:\vc\MSDev98\MyProjects\链表\链表.c(34) : error C2065: 'pTail' : undeclared identifier
D:\vc\MSDev98\MyProjects\链表\链表.c(34) : warning C4047: '=' : 'int ' differs in levels of indirection from 'struct Node *'
D:\vc\MSDev98\MyProjects\链表\链表.c(35) : error C2223: left of '->pNext' must point to struct/union
D:\vc\MSDev98\MyProjects\链表\链表.c(45) : error C2275: 'PNODE' : illegal use of this type as an expression
        D:\vc\MSDev98\MyProjects\链表\链表.c(8) : see declaration of 'PNODE'
D:\vc\MSDev98\MyProjects\链表\链表.c(45) : error C2146: syntax error : missing ';' before identifier 'pNew'
D:\vc\MSDev98\MyProjects\链表\链表.c(45) : error C2065: 'pNew' : undeclared identifier
D:\vc\MSDev98\MyProjects\链表\链表.c(45) : warning C4047: '=' : 'int ' differs in levels of indirection from 'struct Node *'
D:\vc\MSDev98\MyProjects\链表\链表.c(46) : warning C4047: '==' : 'void *' differs in levels of indirection from 'int '
D:\vc\MSDev98\MyProjects\链表\链表.c(52) : error C2223: left of '->DATA' must point to struct/union
D:\vc\MSDev98\MyProjects\链表\链表.c(54) : error C2223: left of '->pNext' must point to struct/union
D:\vc\MSDev98\MyProjects\链表\链表.c(55) : error C2223: left of '->pNext' must point to struct/union
执行 cl.exe 时出错.

链表.obj - 1 error(s), 0 warning(s)


怎么回事?
搜索更多相关主题的帖子: 链表程序 color 
2013-11-30 19:19
ljw4010
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2013-11-30
收藏
得分:0 
2013-11-30 19:23
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
收藏
得分:10 
int main(void)
 {
     PNODE create_list(void);
     void traverse_list(PNODE );
     PNODE pHead=NULL;//等价于struct Node *pHead=NULL
    pHead=create_list();
     traverse_list(pHead);

return 0;
 }

好好学习,天天想上
2013-11-30 22:20
ljw4010
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2013-11-30
收藏
得分:0 
回复 3楼 zhaogay
不对啊,这个程序在linux T中运行正确!
2013-12-01 21:39
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
收藏
得分:0 
PNODE create_list(void)
 {
     int len,i;
     int val;
     //在这定义

     PNODE pHead1=(PNODE)malloc(sizeof(NODE));

     if (NULL==pHead1)
         {printf("fenpeishibai ,chengxvzhongzhi!");
             exit(-1);
         }

    PNODE pTail=pHead1;
     pTail->pNext=NULL;

     printf("qingshurujiedianshu :len =");
     scanf("%d",&len);

     for (i=0;i<len;i++)
         {
            //移到这里
             printf("qingshuru di %d jiedian shujv :",i+1);
             scanf("%d",&val);

             PNODE pNew=(PNODE)malloc(sizeof(NODE));
                 if (NULL==pNew)
                     {
                         printf("fenpeishibai ,chengxvzhongzhi!");
                         exit(-1);
                     }

             pNew->DATA=val;

             pTail->pNext=pNew;
             pNew->pNext=NULL;
             pTail=pNew;


 }
vc貌似在一个作用域里定义全部要放到前面,具体没深究过。

好好学习,天天想上
2013-12-01 22:48
ljw4010
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2013-11-30
收藏
得分:0 
回复 5楼 zhaogay
哦哦,明白了,谢谢!
2013-12-02 09:41
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:10 
回复 6楼 ljw4010
楼主打基础的阶段,最好了解清楚了。提示一下,搜索关键字“C语言变量定义位置”。

总有那身价贱的人给作业贴回复完整的代码
2013-12-02 09:47
ljw4010
Rank: 2
等 级:论坛游民
帖 子:15
专家分:11
注 册:2013-11-30
收藏
得分:0 
回复 7楼 embed_xuel
嗯嗯,谢谢,敢问,我想深入学c需要做些什么?
2013-12-02 20:10
快速回复:链表程序在vc中运行问题!!
数据加载中...
 
   



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

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