#include <stdio.h>
//Compiler version gcc 6.3.0
void print(int a[5],int n){
n--;
if(a[n]%2==0)
print(a,n);
printf("%d",a[n]);
}
int main(void){
int a[] = {1,2,3,4,5};
print(a,5);
return 0;
}
你怎么只打印那个数组中的偶数..通过最后一个元素显然代码不起作用所以如何去做?
答案 0 :(得分:2)
即使数字为奇数,或者递归停止,您也必须调用print
。
当值为偶数时,也只有printf
,当n
索引为负数或您有访问权限违规时停止。
修正:
void print(int a[],int n)
{
n--;
if (n>=0)
{
print(a,n);
if(a[n]%2==0)
{
printf("%d ",a[n]);
}
}
}
打印:2 4