为什么用scanf输入2维数组的字符,剩余的空间都被当做空格来计算(包括回车)?
#include<stdio.h>int main()
{int i,j,A=0,l=0,n=0,space=0,m=0;
char a[2][10];
printf("请输入2行文字:\n");
for(i=0;i<2;i++)
for(j=0;j<10;j++)
scanf("%c",&a[i][j]);
{for(i=0;i<2;i++)
for(j=0;j<10&&a[i][j]!='\0';j++)
{if(a[i][j]<='Z'&&a[i][j]>='A')A=A+1;
else if(a[i][j]<='z'&&a[i][j]>='a')l=l+1;
else if(a[i][j]<='9'&&a[i][j]>='0')n=n+1;
else if(a[i][j]=' ')space=space+1;
else if(a[i][j]='\0')m=m+1;
}
}
printf("大写字母的个数:%d\n",A);
printf("小写字母的个数:%d\n",l);
printf("数字的个数:%d\n",n);
printf("空格的个数:%d\n",space);
printf("空字符的个数:%d\n",m);
return 0;
}