首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-03-16 
数组怎么可以自加?高手请入。程序功能:对一个文本文件中所有的汉字进行频率统计代码如下:intHZfreq[6768]#

数组怎么可以自加?高手请入。
程序功能:对一个文本文件中所有的汉字进行频率统计
代码如下:
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型的指针, 不允许自增.

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

热点排行