这样就没问题了,你的错误在于,java对于数据的操作都是要放在函数里面的,只有数据初始化可以不在函数里,上面,你初始化后,又进行的数据操作,所以不对
这样并不会打印出十个*号。看这一行
for(char
i:test)
作用只是用i去遍历数组test;然后只是修改了i
的值,并没有修改过数组test的值
#include<stdio.h>int main(void)
{
int d = 0 //大写个数
int x = 0 //小写个数
int s = 0 //数字个数
char arr[] = {'中', 'a', 'b', 'c' , 'A', 'B', 'C', '0', '1', 'd', '国', 'z'}
int len = sizeof(arr) / sizeof(arr[0])
for(int i = 0 i < len i++)
{
if(arr[i] <= 'z' && arr[i] >= 'a')
{
x = x +1
}
else if(arr[i] <= 'Z' && arr[i] >= 'A')
{
d = d +1
}
if(arr[i] <= '9' && arr[i] >= '0')
{
s = s +1
}
}
printf("大写个数 %d\n小写个数 %d\n 数字个数 %d\n 其他个数%d\n\n", d, x, s, len - d - x - s)
return 0
}