我对C的经验很少,但是被要求将C程序转换为R.有一点困扰我:
我有一个带int的函数
int a
在函数中我有一个数组:
double b[3] = {
1.8293,
-0.592,
2.3330,
}
以及后来我所拥有的功能:
c = b[a];
有人可以告诉我这条线路在做什么吗?什么被分配给c?它只是一个大小为b的数组,其中b的所有值都乘以?
感谢。
答案 0 :(得分:3)
c
分配了数组a
的{{1}} th 值。
如果b[]
等于1,那么a
将等于c
答案 1 :(得分:2)
如果a包含0,则c = b[a]
表示数组b []的第一个元素被赋值给a,而不更改数组b
答案 2 :(得分:2)
此处的变量a是数组的索引。例如,如果a = 0,则b [a]是第一个元素(在这种情况下为1.8293)。
通常,b [a]从数组中提取出特定元素。
答案 3 :(得分:2)
所以这里是你描述它的函数的模拟(我编写了你没有提到的部分)我添加了注释//
来解释发生了什么:
void foo(int a)
{
// define an array of 3 doubles
//b[0] = 1.8293
//b[1] = -0.592
//b[2] = 2.333
double b[3] = { 1.8293, -0.592, 2.3330 };
double c; // Note c is a double, because we're going to assign
// one of the values from b
//we're going to use a to access array b, that means a has to be 0, 1, or 2
if(a < 3)
c = b[a];
//Now c is set to one of those three values in b
//(depending on what value a has)
return;
}
答案 4 :(得分:1)
double
数组b
的第a个元素被分配给c
(第一个元素的索引为0)。
答案 5 :(得分:1)
你需要在C学习中迈出一步。
b [a]表示您将从b数组
获取索引为a的元素的内容