#include <stdio.h>
#define N 10
int main(void) {
double ident[N][N];
int row, col ;
for (row = 0; row < N; row++) {
for (col = 0; col < N; col++)
if (row == col)
ident[row][col] = 1.0;
else
ident[row][col] = 0.0;
}
for (row = 0; row < N; row++)
for (col = 0; col < N; col++)
printf("a[%d][%d]=%.1f\n", row, col, ident[row][col]);
return 0;
}
最初编译运行时结果出现了错误,原因是输出的那行代码写成了
printf("a[%d][%d]=%d\n", row, col, ident[row][col]);
误将double类型变量用%d输出,造成输出结果错误