gpt4 book ai didi

检查数组中的值是否为偶数,如果为真则返回真

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:31:50 25 4
gpt4 key购买 nike

这就是我到目前为止所做的,但无论数组内部是奇数还是偶数,结果始终为 1。我在做什么?

#include <stdio.h>
#include <stdbool.h>

int main(){
int vector[10]={2,4,6,8,10,12,14,16,18,20};
bool function(int i){
for(i=0,i<10,i++){
if(vector[i]%2==0){
return true;
}
return false;
}
}
}
}

最佳答案

如果要遵循 C 标准,则您不能在另一个函数内定义一个函数。

然而,您的函数的主要问题(除了语法错误,例如无效的 for 语句)是对数组的第一个元素使用 return 语句,而不管它是奇数还是偶数。

程序可以如下所示

#include <stdio.h>
#include <stdbool.h>

bool is_even( const int a[], size_t n )
{
size_t i = 0;

while ( i < n && a[i] % 2 == 0 ) i++;

return i == n;
}

#define N 10

int main( void )
{
int vector[N] = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };

printf( "All elements are even: %d\n", is_even( vector, N ) );
}

请注意,根据 C 标准,不带参数的函数 main 应声明如下

int main( void )

关于检查数组中的值是否为偶数,如果为真则返回真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43527434/

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