创建邻接矩阵有问题

时间:2017-11-27 14:35:28

标签: c

它一次提出两个问题,为什么? 这是我的代码:

#include <stdio.h>
int main()
{
    int i,j;
    int n;
    int adjmatrix[n][n];
    char ans;
    printf("How many vertices?");
    scanf("%d",&n);
    for (i=0;i<n;i++)
    {
        for (j=0;j<n;j++)
        {
            printf("Are vertex %d and %d adjacent?",i,j);
            scanf("%c",&ans);
            if (ans=='Y' || ans=='y')
            {
                adjmatrix[i][j]=1;
            }
            else adjmatrix[i][j]=0;
        }
    }
    return 0;
}

提前致谢!

enter image description here

1 个答案:

答案 0 :(得分:0)

你是对的。输出很奇怪。
你的问题是scanf。使用scanf("%2c", ans);。帮助过我。
但即便如此,我还是遇到了循环没有迭代的问题 正确。

<强>解释

原因是矩阵。矩阵没有分配任何内存,因为它的大小是可变的。 因此,通过将矩阵的条目设置为1,这会影响变量j

<强>解决方案:

您需要解决问题以动态分配内存 看看: