输出双数组,C中意外的输出数字
Outputing a double array, unexpected output numbers in C
我尝试在 C 中打印一个数组,但输出与数组中的数字不匹配。我刚开始学习 C,所以这可能是一个非常愚蠢的错误,但我会很感激一个解决方案。
int main() {
double arr[] = {1,0.2,
0.3,0.4,0.5,
0.6,0.7};
for(int i =0; i<7;i++){
printf("%d ",arr[i]);
}return 0;}
输出:0 -1717986918 858993459 -1717986918 0 858993459 1717986918
%d
格式说明符(以及 %i
)用于打印十进制的 int
,而不是 double
。
您想改用 %f
。
printf("%f ",arr[i]);
输出:
1.000000 0.200000 0.300000 0.400000 0.500000 0.600000 0.700000
我尝试在 C 中打印一个数组,但输出与数组中的数字不匹配。我刚开始学习 C,所以这可能是一个非常愚蠢的错误,但我会很感激一个解决方案。
int main() {
double arr[] = {1,0.2,
0.3,0.4,0.5,
0.6,0.7};
for(int i =0; i<7;i++){
printf("%d ",arr[i]);
}return 0;}
输出:0 -1717986918 858993459 -1717986918 0 858993459 1717986918
%d
格式说明符(以及 %i
)用于打印十进制的 int
,而不是 double
。
您想改用 %f
。
printf("%f ",arr[i]);
输出:
1.000000 0.200000 0.300000 0.400000 0.500000 0.600000 0.700000