以下代码来自c编程教程。目的是找到10个浮点值的平均值。
#include <stdio.h>
void avg(double *d, int num);
int main(void)
{
double nums[]={1.0,2.0,3.0,4.0,5.0,
6.0,7.0,8.0,9.0,10.0}
avg(nums,10);
return 0;
}
void avg(double *d, int num)
{
double sum;
int temp;
temp=num-1;
for(sum=0;temp>=0;temp--)
sum=sum+d[temp];
printf("Average is %f", sum/(double)num);
}
第23行使用d [temp]时会发生什么。
答案 0 :(得分:1)
d[temp]
表示访问temp
指向的数组的d
元素。即d
指向至少 temp+1
double
的数组,并且您希望检索其中temp
个。
答案 1 :(得分:1)
sum=sum+d[temp]
您正在访问双数组temp
的每个d
元素。
如果您有3个号码
temp=num-1; // temp =2
for(sum=0;temp>=0;temp--)
sum=sum+d[temp];
将扩展为 -
sum=0+d[2]; then temp becomes 1 // you are adding 2nd element with sum
sum=sum+d[1]; then temp becomes 0 // here you are adding with previous result // First element + sum
sum=sum+d[0]; then temp becomes -1 // condition fails // 0th element + sum
只是 -
sum=d[2]+d[1]+d[0];
答案 2 :(得分:0)
第23行
d[temp]
将获取索引的浮点数据
temp
中的nums
阵列
在另一个术语中,d[temp]
将替换为temp + 1
数组的nums
元素。
答案 3 :(得分:0)
你迭代你的nums [] - 数组,在这一行,你将所有值添加到你的某个变量。 d [temp]访问索引temp的项目值。