读书人

数组如何可以自加?高手请入

发布时间: 2012-03-16 16:34:56 作者: 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]就是一个int类型的变量,二维数组同
[解决办法]
数组名本身是一个指针没错, 更确切的说法是: 数组名本身是一个const型的指针, 不允许自增.

但将一个数组名做为参数传递时, 编译器一般将其退化为普通指针, 允许自增.

读书人网 >C++

热点推荐