C 数组索引混乱

C 数组索引混乱,c,C,有人能解释一下它是如何显示x[2]的值的吗? 当数组索引为x[4]时 Array x { x[0] x[1] x[2] x[3] x[4] x[5] x[6] x[7] 16.0 12.0 6.0 8.0 2.5 12.0 14.0 –54.5 printf("%.1f", x[(int)x[4]]); Displays 6.0 (value of x[2]) } x[4]的值为2.5,当前缀为“(int)”时,所发生的情况是将结果值“转换”为整数,从而删除小数部分,而不对其进行任何舍入。这

有人能解释一下它是如何显示x[2]的值的吗? 当数组索引为x[4]时

Array x 
{
x[0] x[1] x[2] x[3] x[4] x[5] x[6] x[7]
16.0 12.0 6.0 8.0 2.5 12.0 14.0 –54.5
printf("%.1f", x[(int)x[4]]); Displays 6.0 (value of x[2])
}

x[4]的值为2.5,当前缀为“(int)”时,所发生的情况是将结果值“转换”为整数,从而删除小数部分,而不对其进行任何舍入。这称为“类型转换”或从一种数据类型转换为另一种数据类型。在这种情况下,“float”中的x[4]的值被转换为整数

方程式将变成:
x[(int)x[4]]=x[2]=6.0

如果要向我们显示代码,请向我们显示有效代码。请创建并向我们展示。
x[4]
is
2.5
<代码>(int)x[4]是
2
x[(int)x[4]]
的意思是
x[2]
,这是
6.0
@whitelotus接受我的答案来表示感谢是最好的。干杯