【发布时间】:2020-11-24 09:47:31
【问题描述】:
我是编程新手,我正在研究这个程序。
要求是:编写一个 C 程序来检查给定的整数数组(长度至少为 2),如果有两个值 15、15 相邻,则返回 true。
虽然我的条件得到验证,但除非我排除“else”,否则该函数不会返回 true。但是如果我排除其他,它不会在 false 时返回 0,而是返回任何其他随机数。我不明白为什么以及如何解决它。
#include <stdio.h>
#include <stdbool.h>
int check_fifteen(int a[], int size);
int main(){
int a[]={1, 6, 15, 15, 3, 5, 15};
int size= sizeof(a) / sizeof(a[0]);
printf( "%d", check_fifteen(a, size));
}
int check_fifteen(int a[], int size){
int i=0;
if(size < 2){
return 0;
}
for(i=0; i<size-1; i++){
if( ( a[i] == 15 ) && ( a[i+1] == 15 ) ){
return true;
}
else
return false;
}
}
【问题讨论】:
标签: c loops for-loop boolean-expression function-definition