用 C 中的 int 值初始化一个双精度数组

朱珀

我现在正在学习一些c,并且必须为大学做一个练习。我需要一个双数组,它应该用 int 值填充。所以我有这个。

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

int main( int argc, char *argv[] ) {

int size=0, i=0;

printf("Enter size of array: ");
scanf("%d", &size);

double* field = malloc(size * sizeof(double));
double value;

for(i=0; i<size; i++) {
    field[i] = i;;
}

for(i=0; i<size; i++) {
    printf("Field%i: %d\n",i, field[i]);
}

free(field);

return 0;

}

但是,当我执行它时,所有值都设置为 0。

Enter size of array: 10
Field0: 0
Field1: 0
Field2: 0
Field3: 0
Field4: 0
Field5: 0
Field6: 0
Field7: 0
Field8: 0
Field9: 0
用户2736738

printf's%d代表十进制整数,而不是double

所以这一行:

printf("Field%i: %d\n",i, field[i]);

应该:

printf("Field%i: %f\n",i, field[i]);

使用错误的格式说明符是您之前的未定义行为

标准

如果任何参数不是相应转换规范的正确类型,则行为未定义。


还要检查 的返回值malloc它让您知道分配是否失败(返回NULL)。

David C. Rankin 评论中的更多见解

%d格式说明正在寻找4-bytes(sizeof int在内存中的字节)顺序根据你的机器的字节序。当您提供一个sizeof double由符号位、标准化指数和尾数组成的 8 字节 ( ) 值时,它不知道如何处理它。

那么在这里printf我们可以使用%f而不是%lf也,这增加了与 C99 之前版本兼容的好处,而且它更短。(chux 指出了这一点)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C中初始化一个双精度数组

来自分类Dev

在C中的struct中初始化int数组

来自分类Dev

c++ - 如何将一个int数组连接到用点分隔的c ++中的字符串?

来自分类Dev

在Java中的2个值之间初始化一个int变量

来自分类Dev

C ++-用一个元素初始化数组的向量

来自分类Dev

用 c 中 1 到 500 之间的随机值按给定大小初始化数组

来自分类Dev

用R中另一个数组的元素初始化一个数组

来自分类Dev

在C中初始化int指针

来自分类Dev

从上一个数组元素中减去双精度数组元素的值

来自分类Dev

c语言用int数据类型初始化十六进制数组

来自分类Dev

在C ++中,是否可以直接从另一个数组初始化数组?

来自分类Dev

如何从C中的另一个文件初始化文件中的全局值?

来自分类Dev

C++ 程序自动舍入除数组中的第一个值以外的双精度值

来自分类Dev

在C ++中初始化一个二维数组

来自分类Dev

我如何在C中初始化一个二维数组

来自分类Dev

我如何在C中初始化一个二维数组

来自分类Dev

在C ++中初始化一个二维数组

来自分类Dev

在C中声明并初始化一个新的char数组后,将更改varible

来自分类Dev

在C中初始化一个联合

来自分类Dev

在C ++中初始化一个指针

来自分类Dev

在Swift中,双精度数的类型是Int

来自分类Dev

用宏初始化C中的LUT?

来自分类Dev

静态初始化结构A的数组,其中结构A包含一个指向结构B的数组的指针(在C中)

来自分类Dev

在C ++ 17中初始化int向量的向量

来自分类Dev

如何在C中返回一个int值?

来自分类Dev

用类中的另一个成员初始化成员数组的大小

来自分类Dev

在一个用十六进制值填充的C char数组中,长度是多少?

来自分类Dev

使用`int a [3] = {0,};`格式在c中初始化数组。

来自分类Dev

C ++在模板函数中初始化大小为“ static * int”的char数组

Related 相关文章

  1. 1

    在C中初始化一个双精度数组

  2. 2

    在C中的struct中初始化int数组

  3. 3

    c++ - 如何将一个int数组连接到用点分隔的c ++中的字符串?

  4. 4

    在Java中的2个值之间初始化一个int变量

  5. 5

    C ++-用一个元素初始化数组的向量

  6. 6

    用 c 中 1 到 500 之间的随机值按给定大小初始化数组

  7. 7

    用R中另一个数组的元素初始化一个数组

  8. 8

    在C中初始化int指针

  9. 9

    从上一个数组元素中减去双精度数组元素的值

  10. 10

    c语言用int数据类型初始化十六进制数组

  11. 11

    在C ++中,是否可以直接从另一个数组初始化数组?

  12. 12

    如何从C中的另一个文件初始化文件中的全局值?

  13. 13

    C++ 程序自动舍入除数组中的第一个值以外的双精度值

  14. 14

    在C ++中初始化一个二维数组

  15. 15

    我如何在C中初始化一个二维数组

  16. 16

    我如何在C中初始化一个二维数组

  17. 17

    在C ++中初始化一个二维数组

  18. 18

    在C中声明并初始化一个新的char数组后,将更改varible

  19. 19

    在C中初始化一个联合

  20. 20

    在C ++中初始化一个指针

  21. 21

    在Swift中,双精度数的类型是Int

  22. 22

    用宏初始化C中的LUT?

  23. 23

    静态初始化结构A的数组,其中结构A包含一个指向结构B的数组的指针(在C中)

  24. 24

    在C ++ 17中初始化int向量的向量

  25. 25

    如何在C中返回一个int值?

  26. 26

    用类中的另一个成员初始化成员数组的大小

  27. 27

    在一个用十六进制值填充的C char数组中,长度是多少?

  28. 28

    使用`int a [3] = {0,};`格式在c中初始化数组。

  29. 29

    C ++在模板函数中初始化大小为“ static * int”的char数组

热门标签

归档