fuill 2021-11-27 13:24 采纳率: 68.2%
浏览 97
已结题

c语言字符数组为什么输出为空



#include <stdio.h>
#define Max 32767               /*此处用32767代表无穷大*/
#define M 100                      /*最大顶点数*/
typedef char VertexType;          /*顶点值类型*/
typedef struct{
    VertexType vertices[M];  /*顶点信息域*/
    int Edge[M][M];          /*邻接矩阵*/
    int numV,numE;      /*图中顶点总数与边数*/
} AdjMatrix;               /*邻接矩阵表示的图类型*/

/* 函数功能:建立图的邻接矩阵 */ 
void creat(AdjMatrix *G, int n, int e)
{
    int i, j, vi, vj, w;      /*w为边的权值*/
    G->numV=n;
    G->numE=e;         
    printf("输入顶点的信息:\n");
    for( i=0; i<G->numV; i++ )
    {
        printf("%d:",i+1);
        scanf("%c\n",&G->vertices[i]);
        
        //printf("%c ",G.vertices[i]);
        getchar();
        //
    }
    for( i=0; i<G->numV; i++ )
    for( j=0; j<G->numV; j++ )
    {
        G->Edge[i][j]=Max;
        if(i==j)G->Edge[i][j]=0;
    }
    for( i=0; i<G->numE; i++ )
    {
          printf("输入边的信息及权值(vi,vj,w):");  
          scanf("%d,%d,%d",&vi,&vj,&w);
          G->Edge[vi-1][vj-1]=w; 
          G->Edge[vj-1][vi-1]=w;      /*对于无向图*/        
    }
}

/* 函数功能:输出图的邻接矩阵 */ 
void  print(AdjMatrix G)
{
    int i,j;
    printf ("输出顶点的信息:\n");
    for( i=0; i<G.numV; i++ )
        {
        printf("%c ",G.vertices[i]);
        }
    printf("\n输出图的邻接矩阵:\n" );
    for( i=0; i<G.numV; i++ )
    {
        for( j=0; j<G.numV ;j++ ) 
            printf("%6d",G.Edge[i][j] );
           printf("\n");
    }
}
int main()
{
    int u, v, w, st;
    AdjMatrix G;
    int n,e;
    
    printf("请分别输入顶点数和边数:");
    scanf("%d%d",&n,&e); 
    int m=e;
    creat(&G, n, e);
    print(G);
    //dijkstra(G,1);
    
}
/* 测试输入信息为 

6 6
1
2
3
4
5
6
1,2,20
1,3,30
2,4,40
3,4,50
4,5,70
4,6,80

*/

img

输出顶点的信息后面是空白的,检查了好久都没发现bug

  • 写回答

1条回答 默认 最新

  • fuill 2021-11-27 13:56
    关注

    已找到问题,用getchar();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月27日
  • 已采纳回答 11月27日
  • 创建了问题 11月27日

悬赏问题

  • ¥30 easy photo不能使用,求帮助
  • ¥15 c语言字符串单词入门问题报错
  • ¥30 我现在是双非人工智能专业不知道要不要转到软件工程专业
  • ¥15 请问12脉波整流机组的外特性曲线具体是如何推导
  • ¥15 abaqus里的python算法
  • ¥100 如何在思科模拟器中进入CEF模式
  • ¥15 Simulink 仿真如何使用MATLAB function模块获取到仿真过程中某一仿真时刻输入到模块的函数的值?
  • ¥50 关于#微信小程序#的问题:微信小程序支持h5实现webrtc h264 h265低延迟传输渲染,能付费帮我们解决一下吗
  • ¥20 请问ansys License manager 这个问题如何解决
  • ¥15 memory.limit()' is no longer supported