2015-01-26 32 views
-1

我發佈了要求用戶輸入矩陣的代碼部分,但顯示時它只顯示0.000000作爲其元素。請保證找出我不適當的事情。c程序的輸出爲零,但它需要來自用戶的輸入

#include<stdio.h> 
main(){ 

int i,j,m,x,c,l; 
double mat[100][100],temp[100],a[100][100],lt[100][100]={0.000},ut[100][100],maximum,per[100][100]; 
printf("Enter the size of square matrix: "); 
scanf("%d", &m); 

//enter the matrix 
for(i=0;i<m;i++) 
    { 
printf("enter the row %d: \n", i+1); 
for(j=0;j<m;j++){ 
scanf("%f",&mat[i][j]); 
a[i][j]=mat[i][j]; 
} 
    } 

//show matrix 
    printf("matrix =\n"); 
for(i=0;i<m;i++) 
{ 
for(j=0;j<m;j++) 
{ 
    printf("%f\t", mat[i][j]); 
} 
    printf("\n"); 
} 
+2

打開編譯器警告,您將瞭解到您需要'scanf'中的'%lf'來掃描'double'。 (但'_finting_''f''%f'雖然是好的。) – 2015-01-26 18:28:05

+0

感謝它解決了這個問題。 – 2015-01-28 03:53:01

回答

1

使用LF掃描雙重價值。使用錯誤的格式說明符會導致未定義的行爲

+0

也OP應該使用更多的描述性名稱,然後'I或J或C' – Rizier123 2015-01-26 18:33:09

+0

@ Rizier123是的我同意,但看到0的原因是這 – Gopi 2015-01-26 18:35:37

+0

謝謝。我,j,c被用作程序中的計數器,因此我沒有使用任何描述性名稱。這只是代碼的一部分。 – 2015-01-28 03:54:23

相關問題