【发布时间】:2020-10-25 06:18:00
【问题描述】:
我正在尝试在方阵数组中打印出单位矩阵。
这是我当前的代码:
#include <stdio.h>
int main(){
int n = 50;
int i,j = 0;
int a[n][n];
for (i=0; i<n; i++){
for (j=0; j<n; j++){
if (a[i] == a[j]){
printf("1");
} else {
printf("0");
}
}
}
printf("/n");
return 0;
}
我的 macOS 终端没有告诉我有任何语法错误并且可以正确编译。但是当我运行可执行文件时,我什么也没有打印出来。
我的代码有错误吗?
非常感谢您的帮助。
【问题讨论】:
-
您从未初始化数组
a,因此它包含垃圾。另一方面,您也根本不需要它。测试if (a[i] == a[j])应该只是if (i == j)。 -
另外,想想你的换行符 printf 应该放在哪里。 (C 中的换行符是
\n,而不是/n。 -
非常感谢您的 cmets。你能帮我告诉我如何初始化我的数组 a
-
眼睛?我想你的意思是
I... -
@AnttiHaapala,单位矩阵,在 numpy 中有一个叫做 eye 的函数,它会打印出单位矩阵...