帮我看下这段代码有何错误?
题目是这样的;有一篇文章,共有3行文字,每行有8个字符,要求分别统计出每行的英文大写字母,数字,空格,与其他字符.我的代码是
#include <stdio.h>
void main()
{
char a[3][8];
int m=0,n=0,x=0,y=0,z=0,i,j;
for(i=0;i<3;i++)
for(j=0;j<8;j++)
scanf("%c",&a[i][j]);
for(i=0;i<3;i++)
for(j=0;j<8;j++)
{
if (a[i][j]>='A'&&a[i][j]<='Z')
m++;
if (a[i][j]>='a'&&a[i][j]<='z')
n++;
if (a[i][j]>='0'&&a[i][j]<='9')
x++;
if (a[i][j]==' ')
y++;
else
z++;}
printf("%d,%d,%d,%d,%d",m,n,x,y,z);}
运行以后,其中大小字母,数字空格都能正常统计,但是"其他字符"的统计z,即使没有输入过其他字符,z的值也会增加,这是为什么呀?各位高手看看