输入一个每个元素类型为unsigned char的矩阵,统计值在1到255之间的元素个数,并输出。
编译的时候出现问题,请指教究竟错在哪里?#include<stdio.h>
int main()
{
char a[3][3]; /* 定义一个二维数组 */
int i;
int j;
printf("请给数组赋值:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
scanf("%c",&a[i][j]);
}
/* 给数组赋值 */
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf("%c",a[i][j]);
if(j==2)
printf("\n");
}
/* 输出该数组 */
i=0;
j=0;
int flag=1;
int p; /* 用来计数的变量 */
p=0;
char s='0';
while(flag)
{
if(a[i][j]==s&&s<='255') /* 让数组中每一个元素与1到255进行比较,若相等则输出 */
{
printf("%c\n",a[i][j]);
p++;
}
s=char(s+1); /* 使s在1到255中取值 */
if(s>'255')
{
j++;
s='0';
}
if(j==3) /* 当j等于三时,第一行数组元素查找完毕 */
{
i++;
j=0;
}
if(i==3) /* 当i等于三时,表示数组遍历完毕 */
flag=0;
}
printf("数组中值在1到255之间的元素有%d个",p);
printf("\n");
return 0;
}
字符a同字符数字比较,a会不会被转化为数字。