我一直在尝试编写一个非常简单的字符计数器,它将接收一个字符串并返回每个字符的使用数量.
出于某种原因,无论什么时候计算字母'C'并超出它,它都会破坏,我无法弄清楚为什么.它读取A和B的罚款.
我知道我很可能以一种非常低效的方式做到这一点,但我尝试用更多的循环来做它,它仍然有同样的问题.所以我想我会尽可能简单地做到这一点,直到我发现它是什么造成的.
这是代码:
#include <stdio.h>
int main() {
char str[255];
int chCount[25];
printf("Please enter a string (255 character max): ");
scanf("%[^\n]", str);
for(int x = 0; str[x] != '\0'; x++) {
if((str[x] >= 65 && str[x] <= 90) || (str[x] >= 97 && str[x] <= 122)) {
switch(str[x]) {
case 65:
case 97:
chCount[0]++;
break;
case 66:
case 98:
chCount[1]++;
break;
case 67:
case 99:
chCount[2]++;
break;
}
}
}
printf("A: %i B: %i C: %i D: %i", chCount[0], …Run Code Online (Sandbox Code Playgroud)