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[4]的“float”值被转换为整数。

等式将变为: x[ (int)x[4] ] = x[ 2 ] = 6.0

关于c - 数组索引困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29617455/

相关文章:

c - 需要解析字符串的帮助

C++ long long int 上溢/下溢

C- 在 Windows 中使用 exec()

c - 循环中的段错误,找不到错误

c++ - 如何从 Eclipse 中删除 C/C++ 并完成 CDT?

c - 如何使用字符数组来识别一个字符串

c - OpenSSL MD5 每次都会给出不同的哈希值

VB.NET 中的 C 函数

c: wchar_t 数组传递给函数时出错?

c - C中的二叉树遍历具有结构