int i,g[50],m[50];这句代码是定义的三个变量为别为i ,g和m,其中,g和m为大小为50的整型数组,在定义数组时就初始化的大小为50。至于你的第二个问题为什么i是从0开始赋值的,这个由于 没有看到代码,所以不好判断,有可能这个变量是定义用到统计次数或是统计数据中数据的总合,如果真是用来统计次数或是数据总合的话,当然i的值从0开始。第三个问题,为什么不是while(i<=50),再次由于没有看到源码,所以只能猜测,由于数组大小为50,且数组是从0角标开始存储的,所以像g[50]这样的数组存储最后一个数据的角标应为g[49],如果是i=50的时候,那么数组越界,程序出错。希望能帮到你,打字不易,望采纳,谢谢!