C 中“,”问题
假设有这样一行代码
int array[]={0,1,2,3,4,};
与
int array[]={0,1,2,3,4};
在编译、运行都不会报错,而且正常输出。但,两者得区别是什么,为什么编译器能允许多一个“,”通过?
------解决方案--------------------二者没有任何区别,编译器在编译过程中会自动识别','是否有值,有值才分配空间;否则不会分配空间.
------解决方案--------------------
因为如果文件中有一堆数据的情况下,112 313 15 ...
然后要放在一个数组里面
程序员一般写代码生成数组.
wihle(!feof(fin))
{
fscanf(fin,"%d",&n);
fprintf(fout,"%d,",n);
};
于是就多了最后的逗号,为了方便程序员,c/c++ 允许初始化时候的最后的逗号.
同样的,还有枚举也允许这样.