Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        4个月前关闭。
                                                                                            
                
        
这是我的代码。

#include <stdio.h>
/*
CALCULATING INVERSE OF A MATRIX
*/
int main(){

    int matris[3][3];
    int i,j;
    for(i = 0; i<3; i++){
        for (j=0;j<3;j++){
            scanf("%d", &matris);
        }
    }

    for(i = 0; i<3; i++){

        for (j=0;j<3;j++){

            printf("%d ", matris);
        }
    }

}


当我以1-9数字作为输入时,我希望程序在1-9范围内打印3x3矩阵,但它会返回此输出

输出:

1
2
3
4
5
6
7
8
9
6487536 6487536 6487536 6487536 6487536 6487536 6487536 6487536 6487536


我的错误在哪里?寻求帮助

最佳答案

只要要在数组scanf("%d", &matris);的不同元素中写入不同的数据,matris是错误的。

printf("%d ", matris);也是错误的,因为您要从数组matris的不同元素中打印出不同的值。

而是这样做:

scanf("%d",&matris[i][j]);



printf("%d",matris[i][j]);

关于c - C为什么scanf返回错误的输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58365657/

10-11 23:02