gpt4 book ai didi

c - c语言中的数组和函数

转载 作者:太空宇宙 更新时间:2023-11-04 00:22:01 25 4
gpt4 key购买 nike

如果有以下内容,我有一些我没有得到的东西:

double average (double scores[]){

double sum = 0;
int n;
int nscores = sizeof(scores)/sizeof(double);
for (n=0 ;n<nscores ;++n){
sum+=scores [n];
return sum/nscores;
}

然后我向这个函数发送一个像这样的数组:

  double scores[3]={1,2,3};

为什么 sizeof(scores) 会是 0?

最佳答案

sizeof(scores) , 在函数内部,相当于 sizeof(double *) : 编译器无法判断此时数组的大小。

不会为零,但因为 sizeof(scores)sizeof(double)都是整型表达式,sizeof(scores)/sizeof(double)是整数除法,所以如果 sizeof(scores) < sizeof(double) , 然后 sizeof(scores)/sizeof(double) == 0.

关于c - c语言中的数组和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9184712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com