C中浮点数组的Memset问题

C中浮点数组的Memset问题,c,arrays,floating-point,memset,C,Arrays,Floating Point,Memset,我尝试用5.6填充一个浮点数组,但在打印出值时,每个值都只是0.0 #include <string.h> float testArr[20]; memset(testArr, (float)5.6, 3*sizeof(float)); printf("Value 1: %lf\n",testArr[0]); printf("Value 2: %lf\n",testArr[1]); printf("Value 3: %lf\n",testArr[2]); printf("Value

我尝试用5.6填充一个浮点数组,但在打印出值时,每个值都只是0.0

#include <string.h>
float testArr[20];
memset(testArr, (float)5.6, 3*sizeof(float));
printf("Value 1: %lf\n",testArr[0]);
printf("Value 2: %lf\n",testArr[1]);
printf("Value 3: %lf\n",testArr[2]);
printf("Value 4: %lf\n",testArr[3]);
#包括
浮点数[20];
memset(testArr,(float)5.6,3*sizeof(float));
printf(“值1:%lf\n”,testArr[0]);
printf(“值2:%lf\n”,testArr[1]);
printf(“值3:%lf\n”,testArr[2]);
printf(“值4:%lf\n”,testArr[3]);

我也尝试过不将5.6转换为浮点,设置
testArr[20]={}
testArr[20]={0}
,但它们也会产生相同的0.0。
memset
用1
字符填充内存,而不是
float
memset
用1
字符填充内存,not
float

阅读
memset()
的声明,然后搜索浮点到整数的转换。它们都不是魔法。你需要为循环使用
,而不是
memset
memset
将第二个参数转换为字符。请参阅。此代码编译时是否没有警告?请阅读
memset()
的声明,然后搜索浮点到整数的转换。它们都不是魔法。你需要为循环使用
,而不是
memset
memset
将第二个参数转换为字符。请参阅。这段代码编译时是否没有警告?