为什么我打印不出负奇数啊



#include<stdio.h>
int main()
{
    int a[18]={-12,-34,-56,25,44,1,-27,-119,31,-13,0,23,17,101,-2,324,-7,-39};
    int b[20],c[20];
    int i;
    for(i=0;i<18;i++)
    {
        if(abs(a[i])>20)
        {
            b[i]=a[i];
            printf("%d ",b[i]);
        }
    }
    printf("\n");
    for(i=0;i<18;i++)
    {
        if(a[i]<0&&a[i]%2==1)
        {
            c[i]=a[i];
            printf("%d ",c[i]);
        }
    }
    return 0;
}

img

img

img

改成下面这样吧
判断a[i]%2是否等于-1就行

 
#include<stdio.h>
int main()
{
    int a[18]={-12,-34,-56,25,44,1,-27,-119,31,-13,0,23,17,101,-2,324,-7,-39};
    int b[20],c[20];
    int i;
    for(i=0;i<18;i++)
    {
        if(abs(a[i])>20)
        {
            b[i]=a[i];
            printf("%d ",b[i]);
        }
    }
    printf("\n");
    for(i=0;i<18;i++)
    {
        if(a[i]%2==-1)
        {
            c[i]=a[i];
            printf("%d ",c[i]);
        }
    }
    return 0;
}