如何调试此程序?

时间:2017-01-03 22:09:41

标签: c for-loop

我写了一些C代码,它应该使用函数" transpose"来转置3x3整数矩阵。但是,代码有问题,但我无法弄清楚。有人可以帮我识别错误吗?

#include <stdio.h>
int a[3][3];

void main()
{
    int i, j;
    void transpose(int x[3][3]);

    printf("Enter a 3x3 matrix:\n");
    for (i = 0; i <= 2; i++)
        ;
    {
        for (j = 0; j <= 2; j++)
            ;
        {
            scanf_s("%d", &a[i][j]);
        }
    }
    printf("The original matrix is:\n");
    for (i = 0; i <= 2; i++)
        printf("%d %d %d\n", a[i][0], a[i][1], a[i][2]);
    transpose(a);
    printf("The transposed matrix is:\n");
    for (i = 0; i <= 2; i++)
        printf("%d %d %d\n", a[i][0], a[i][1], a[i][2]);
    getchar();
    getchar();
}

void transpose(int x[3][3])
{
    int t;
    t = x[1][0];
    x[1][0] = x[0][1];
    x[0][1] = t;
    t = x[2][0];
    x[2][0] = x[0][2];
    x[0][2] = t;
    t = x[2][1];
    x[2][1] = x[1][2];
    x[1][2] = t;
}

1 个答案:

答案 0 :(得分:1)

在每个for循环后删除半列(;)。这些是程序中的空for循环。他们循环不做任何事情。