为什么x=0在上时 会将x=0归为x<0里?

 "统计给定的n个数中,负数、零和正数的个数。 

输入
 输入的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个整数 

输出
 输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。 

样例输入 Copy
6 0 1 2 3 -1 0
样例输出 Copy
1 2 3"<题目>
1.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main()
{
    int n;
    int a,e;
    int b=0;
    int c=0;
    int d=0;
    scanf("%d", &n);
    for (int i = 1; i<=n; i++)
    {
        scanf("%d", &a);
        if (a<0)
            b+=1;
        else if(a=0)
            c+=1;
        else 
        d+=1;
    }
    printf("%d %d %d\n", b,c,d);
    return 0;
}
2.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main()
{
    int n;
    int a,e;
    int b=0;
    int c=0;
    int d=0;
    scanf("%d", &n);
    for (int i = 1; i<=n; i++)
    {
        scanf("%d", &a);
        if (a<0)
            b+=1;
        else if(a>0)
            c+=1;
        else 
        d+=1;
    }
    printf("%d %d %d\n", b,d,c);
    return 0;
}


第30行里,else if(a=0) 这里错误,应该是 else if(a == 0) ,少了一个 = ,‘==’ 是判断是否相等,‘=’ 是赋值。

你提的问题,自己能看懂么