如何计算数组的长度?
How can I count the length of the array?
我在做 CS50。他们讨论 函数 。
#include <cs50.h>
#include <stdio.h>
const int array_length = 3;
float average(int length, int array[]);
int main(void)
{
int scores[array_length];
for (int i = 0; i < array_length; i++)
{
scores[i] = get_int("Score: ");
}
printf("Average: %f\n", average(array_length, scores));
}
float average(int length, int array[])
{
int sum = 0;
for (int i = 0; i < length; i++)
{
sum += array[i];
}
return sum / (float) length;
}
他们在函数中声明了“length”变量。但是为什么他们不给它赋值呢? C 如何知道“长度”是 3?
当您从 main 调用 average()
函数时,您也会传递这两个值,例如 average(array_length, scores)
。然后,正如原型声明的那样
float average(int length, int array[])
该函数捕获这些值。
array_length
--> length
scores
--> array[]
并且看这里的长度是全局声明的 - const int array_length = 3;
。
所以,参数length
也得到了array_length
的值。
你可以说,array_length = 3 = 长度。
我在做 CS50。他们讨论 函数 。
#include <cs50.h>
#include <stdio.h>
const int array_length = 3;
float average(int length, int array[]);
int main(void)
{
int scores[array_length];
for (int i = 0; i < array_length; i++)
{
scores[i] = get_int("Score: ");
}
printf("Average: %f\n", average(array_length, scores));
}
float average(int length, int array[])
{
int sum = 0;
for (int i = 0; i < length; i++)
{
sum += array[i];
}
return sum / (float) length;
}
他们在函数中声明了“length”变量。但是为什么他们不给它赋值呢? C 如何知道“长度”是 3?
当您从 main 调用 average()
函数时,您也会传递这两个值,例如 average(array_length, scores)
。然后,正如原型声明的那样
float average(int length, int array[])
该函数捕获这些值。
array_length
--> length
scores
--> array[]
并且看这里的长度是全局声明的 - const int array_length = 3;
。
所以,参数length
也得到了array_length
的值。
你可以说,array_length = 3 = 长度。