读书人

关于数组的自加疑惑望高手加以指点。

发布时间: 2012-01-15 22:57:49 作者: rapoo

关于数组的自加疑惑,望高手加以指点。感谢了。
程序功能:对一个文本文件中所有的汉字进行频率统计
代码如下:
int HZfreq[6768];
#define HZ_ID(c1,c2) ((c1)-176)*94+((c2)-161)
void hzInFile(CString FileName)
{
FILE *in;
unsigned char c1,c2;
int id;
in=fopen((const char *)FileName, "rb ");
if (in==NULL) {AfxMessageBox( "无法打开输入文件! "); return;}
while(!feof(in)) {
c1=(unsigned char) fgetc(in);
if(c1 <128) continue;
if(c1 <176) {c2=fgetc(in); continue;}
c2=(unsigned char) fgetc(in);
id=HZ_ID(c1,c2);
HZFreq[id]++;
}
fclose(in);
return;
}
问题:请问HZFreq[id]++怎么理解?加了之后它的值是多少?
更有甚者,Freq_table[c1][c2]++; 在这里二维数组也自加。请高手解疑并指教。
万分感谢!

[解决办法]
HZFreq[id]与Freq_table[c1][c2]都是取数据的一个具体的元素,再++是很正常,它们和i++没有区别。

不要与数组指针++想混了!数组指针++是这样的:
HZFreq++或Freq_table[c1]++等形式。

读书人网 >VC/MFC

热点推荐