我该如何统计字符串中每个字母(不区分大小写)在c语言中出现的次数?输出格式为letter: # number of occurences
,我已经有了统计单个字母出现次数的代码,但是如何统计字符串中每个字母的出现次数呢?
{
char
int count = 0;
int i;
//int length = strlen(string);
for (i = 0; i < 20; i++)
{
if (string[i] == ch)
{
count++;
}
}
return count;
}
输出:
a : 1
b : 0
c : 2
etc...
-
),我不认为您是这个意思。 - user5297580x00
没有出现过。诸如此类。你知道,在终端窗口右侧有一个滚动条,如果你使用的是现代基于图形界面的操作系统的话。另外,你有没有尝试过第二段代码片段呢? - user529758char
默认被视为有符号位的话,那么代码就是错误的。在将str[i]
用作counts
数组的索引或isalpha()
函数的参数之前,您应该将其强制转换为(unsigned char)str[i]
。否则,负字符值将导致未定义的行为。 - chqrlie