gpt4 book ai didi

c - 意外错误 "control may reach end of a non void function"

转载 作者:行者123 更新时间:2023-11-30 19:43:50 25 4
gpt4 key购买 nike

我编写了一个程序来对数组中的元素求和。但是,当我编译程序时,它告诉我“控制可能到达非空函数的末尾”。我不知道为什么。

//a program to sum the elements of an array

#include <stdio.h>

int sum(int array[],int n)
{
int sum =0, *ptr;
int *arrayend=array +n;
for(ptr=array; ptr<arrayend;++array)
{
sum +=*ptr;
return sum;
}
}

int main(void)
{
int sum(int array[],int n);
int value[10]={1,2,3,4,5,6,7,8,9,10};
printf("The sum is %i\n",sum(value,10));
return 0;
}

最佳答案

你的函数 sum() 格式很差,假设 for 循环条件在第一次尝试时失败,并且你从未进入循环,那么你会遇到没有返回任何内容并且函数返回的情况类型为int

因此需要解决这种情况,以便即使无法进入循环,循环后也应该返回。

除非存在返回所依据的条件,否则循环中的返回没有任何意义。

关于c - 意外错误 "control may reach end of a non void function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29128653/

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