再帰を使用して配列の要素を見つけたいです。関数は配列とターゲット値を取ります。再帰関数は、指定された配列の要素であるかどうかをチェックします。しかし残念ながら、このコードを設定することはできません。関数は常に '1' を返します。どこで間違えますか?
#include <stdio.h>
int isElement(int *a, int target) ;
int main()
{
int a[] = {3,5,6,4,2,32,15} ;
int target = 12 ,res ;
res = isElement( a, target) ;
if(res==1)
printf("its an element of the array\n");
if(res==0)
printf("its not an element of the array\n");
return 0 ;
}
int isElement(int *a, int target)
{
int son=0 ;
printf("array = %d\n",a[0] );
if(a[1] == '\0')
son = 0 ;
else if(target == a[0])
son = 1 ;
else
son = isElement(&a[1] ,target);
return son ;
}