fuill 2021-11-27 13:24 采纳率: 66.7%
浏览 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日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵