我看到我可以使用与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();
}
感谢您的帮助!