这是一个添加矩阵的程序,但似乎编译器在第二个嵌套for循环中跳过第二个scanf。
void input_add_matrices() {
printf("Input number of rows for matrices: "); scanf("%d", &nrow_matrix1); getchar();
printf("Input number of columns for matrices: "); scanf("%d", &ncolumn_matrix1); getchar();
printf("\nInput elements for matrix 1:\n");
for(i=0; i<nrow_matrix1; i++){
for(j=0; j<ncolumn_matrix1; j++){
scanf("%d", &element_matrix1[i][j]); getchar();
}
}
nrow_matrix2=nrow_matrix1;
ncolumn_matrix2=ncolumn_matrix2;
printf("\nInput elements for matrix 2:\n");
for(i=0; i<nrow_matrix2; i++){
for(j=0; j<ncolumn_matrix2; j++){
scanf("%d", &element_matrix2[i][j]); getchar();
}
}
}
这是编译器错误还是其他什么?请帮忙。
输出是:
Input number of rows for matrices: 2
Input number of columns for matrices: 2
Input elements for matrix 1:
1
2
1
2
Input elements for matrix 2:
Matrix 2为空白。
答案 0 :(得分:5)
我认为代码行ncolumn_matrix2=ncolumn_matrix2;
导致ncolumn_matrix2为0,因此未输入循环