我有一个大小为 25 的数组,它将大写字母存储在一个数组中。对于我的用户输入测试,它存储“A”、“B”、“C”和“D”。我的程序计算数组中这些字母的数量并将其打印出来。例如,如果输入了 AABBCCDD,则表示有 2 个 A、2 个 B、2 个 C 和 2 个 D。现在,我试图让它也接受小写字母并计算它们,只要它们与大写相同。例如,如果我输入 aA、Bb、cC 和 dD,它仍然会打印出各有两个。我的代码如下:
int main(void)
{
char array[25];
printf("Enter array: \n");
scanf("%[^\n]", array);
printf(Array is: ", array);
count(array, 'A');
return 0;
}
void count(char* array, char p)
{
int i, count = 0;
for (i = 0; array[i] !='\0'; i++)
if(array[i] == p)
count++;
printf("Number of %c's: %d\n, p, count);
}
我希望代码同时计算“a”和“A”。是否使用 toupper() 方法?