我被指派对别人编写的 C 程序进行一些更改...我想先了解它以便正确地处理它...我想到了一个函数,它可以根据给定的 ASCII 值生成直方图长串数据。是这样的。
//load the symbols the old data
for(int k = 0;k < 256;++k)
{
sym[k].Symbol = k;
sym[k].Count = 0;
}
//Creating the probability distribution for each of the source symbols.
for(int k = size;k;--k)
{
sym[*in ++].Count ++;
}
这里的'in'是包含要统计的字符的char数组(字符串)。 sym 是一个结构变量。我不太明白这是怎么回事。谁能告诉我第二个循环如何生成字符串中符号 1 到 255 (ASCII) 的计数?
最佳答案
for(int k = 0; k < size; k++)
{
sym[in[k]].Count++;
}
这基本上就是第二个循环所做的。
它们只是取消引用,然后一步移动到下一个 ascii 值,并为该 ascii 值递增计数器。
关于c - 直方图生成函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1869062/