bec666 2019-09-13 20:50 采纳率: 88%
浏览 629
已采纳

typedef struct EdgeNode /* 边表结点 / -> typedef struct/* EdgeNode 边表结点 */将结构体程序改了一下为什么会出现56行和61行的警告?

图片说明

#include "stdio.h"    
#include "stdlib.h"   
#include "io.h"  
#include "math.h"  
#include "time.h"

#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXVEX 100 

typedef int Status; 
typedef char VertexType; 
typedef int EdgeType; 

typedef struct /***EdgeNode **/* 边表结点  */
{
    int adjvex;   
    EdgeType info;  
    struct EdgeNode *next;
}EdgeNode;

typedef struct VertexNode 
{
    VertexType data; 
    EdgeNode *firstedge;
}VertexNode, AdjList[MAXVEX];

typedef struct
{
    AdjList adjList; 
    int numNodes,numEdges; 
}GraphAdjList;


void  CreateALGraph(GraphAdjList *G)
{
    int i,j,k;
    EdgeNode *e;
    printf("输入顶点数和边数:\n");
    scanf("%d,%d",&G->numNodes,&G->numEdges); 
    for(i = 0;i < G->numNodes;i++)
    {
        scanf(&G->adjList[i].data);     
        G->adjList[i].firstedge=NULL;   
    }


    for(k = 0;k < G->numEdges;k++)
    {
        printf("输入边(vi,vj)上的顶点序号:\n");
        scanf("%d,%d",&i,&j); 
        e=(EdgeNode *)malloc(sizeof(EdgeNode)); 
        e->adjvex=j;                                     
        e->next=G->adjList[i].firstedge;    
        G->adjList[i].firstedge=e;                    

        e=(EdgeNode *)malloc(sizeof(EdgeNode)); 
        e->adjvex=i;                                        
        e->next=G->adjList[j].firstedge;    
        G->adjList[j].firstedge=e;                 
    }
}

int main(void)
{    
    GraphAdjList G;    
    CreateALGraph(&G);

    return 0;
}
  • 写回答

2条回答 默认 最新

  • bec666 2019-09-14 17:23
    关注

    应该是结构体里有指针的缘故,深层次原因就不懂了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!