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日

悬赏问题

  • ¥15 echarts动画效果失效的问题。官网下载的例子。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加