如何在Clang LLVM(C语言)上制作矩阵

时间:2018-10-17 07:20:06

标签: c

我看到我可以使用与MacOS集成的clang LLVM编译器来编译C和C ++。但是,当我尝试运行此代码时,它不接受我的Matrix,它可以在Windows上完美运行,但是我不不知道如何使它适用于这个东西(在Mac上我是新手)。

我尝试从终端以及Xcode进行编译,但是它们都使用相同的编译器...错误是这个:

cc     hello.c   -o hello
hello.c:4:19: error: variable length array declaration not allowed at file scope
int i=0,j=0,fc=10,mat[fc][fc];
                  ^   ~~
1 error generated.
make: *** [hello] Error 1

我的代码:

#include <stdio.h>
int i=0,j=0,fc=10,mat[fc][fc];
void setMat(){
    for ( i = 0; i < fc; ++i){
        for ( j = 0; j < fc; ++j){
            mat[i][j]=j+1;
        }
    }
}
void _printMat(){
    for ( i = 0; i < fc; ++i){
        for ( j = 0; j < fc; ++j){
            printf("%d ",mat[i][j]);
        }
    }
}
int main(){
    setMat();
    _printMat();
}

第一次编辑:我需要进行哪些更改才能使其正常工作?

感谢阅读和回答,如果有人对普通C语言有某种翻译,请与我分享。

找到了解决方案:

#include <stdio.h>
#define FC 10
int mat[FC][FC];
int i=0,j=0;

void setMat(){
    for ( i = 0; i < FC; ++i)
    {
        for ( j = 0; j < FC; ++j)
        {
            mat[i][j]=j+1;
        }
    }
}

void _printMat(){
    for ( i = 0; i < FC; ++i)
    { printf("\n");
        for ( j = 0; j < FC; ++j)
        {
            printf("%d ",mat[i][j]);
        }
    }
}

int main(){
    setMat();
    _printMat();
}

感谢您的帮助!

0 个答案:

没有答案