输出负数,0,正数的个数,可能我if那点不对

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果

```c++
#include
int main()
{ int a,b,c,d,i,e;
  while(scanf("%d",&a)!=EOF)
 { for(i=0;iscanf("%d",&b);if(b>0) c++;
                     if(b=0) d++;
                     if(b<0) e++;
    } 
    
    printf("%d ",e);
    printf("%d ",d);
    printf("%d\n",c);
    continue;
    
 }
  
  return 0;
}

```

                 if(b=0) d++; 改成                      if(b==0) d++;

一个等号是赋值,为真,两个等号才是比较是否等于0

img

c=0,d=0,e=0都要初始化。
if (b == 0) 缺个=

= 是赋值符号
== 是一种操作符,判断两边是否相等。