为什么这里给定初值与否运行结果会不同

img


#include
#include<stdlib.h>
using namespace std;

int main(){
int x,y,a=0,b=0,c=0,q=1;
cout<<"请输入你要输入的数据个数: ";
cin>>x;
cout<<endl;
cout<<"请输入"<<x<<"个整数: " ;

while(q<=x){
cin>>y;
if(y==0) a++;
else if(y>0) b++;
else c++;
q+=1;
}

cout<<endl;
cout<<"零的个数: " <<a<<endl<<"正数的个数: " <<b<<endl<<"负数的个数: " <<c<<endl;

system("pause");
return 0;
}

如果不给初值,参与计算,会取默认值,默认值是不确定的数。

我这边运行没有问题