我正在编写可用于生产的 C 语言,我需要快速找到字符数组中字符的频率。我试图删除断言调用以在强制转换期间检查正值。我的断言是多余的代码还是有必要?
char input[] = "Hello World";
int inputLength = sizeof(input)/ sizeof(char);
int *frequencies = calloc(256, sizeof(int));
for(int i = 0; i < inputLength-1; i++)
{
int value = (int) input[i];
assert(value > -1);//Is this line redundant?
frequencies[value] += 1;
}
printf("(%d)", inputLength);
PrintFrequencies(frequencies);
free(frequencies);
Run Code Online (Sandbox Code Playgroud)