2016-12-27 39 views
1

我需要构建一个矩阵。我需要使用双数据类型。与此同时,用户将输入数据 。但是当数据输入时,编译器程序会说:“阵列子集不是整数”。但我需要使用双重数据。矩阵中的双数据类型


#include <stdio.h> 
#include <stdlib.h> 

int main(int argc, char *argv[]) { 
    double matris[3][4]; 
    double i; 
    double j; 
    printf("Please Enter Number for Matris:\n"); 
    for (i = 0; i < 3; i++) { 
     for (j = 0; j < 4; j++) { 
      scanf("%lf", &matris[i][j]); 
     } 
    } 
    for (i = 0; i < 3; i++) { 
     for (j = 0; j < 4; j++) { 
      printf("%f", &matris[i][j]); 
     } 
    } 
    return 0; 
} 

+1

您需要'双'的项目,而不是索引。 –

+0

你真的需要格式化你的代码,但真的 –

+0

然后你应该让它们成为整数。 – user3528438

回答

0

数组下标是如何索引到一个数组。 它与数组中数据的类型不同。

此外,请注意格式说明符以及之后输出数组时打印的内容。不要打印地址。

int main() { 
    double matris[3][4]; 
    int i;//<------ 
    int j;//<------ 


    printf("Please Enter Number for Matris:\n"); 

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


    for (i = 0; i < 3; i++) { 
     for (j = 0; j < 4; j++) { 
      printf("%f ", matris[i][j]); //<------ 
     } 
     printf("\n"); 
    } 

    return 0; 
} 
+0

在printf(“%f”,matris [i] [j])行中写入%f代替%lf是否正确? ;' –

+0

@ Sanjay-sopho我相信如此(scanf是不同的)http://stackoverflow.com/questions/4264127/correct-format-specifier-for-double-in-printf – doctorlove

+0

谢谢。清理了一些东西。 –