f == 0
不是
f = 0
if (f == 0)break;
不知道你这个问题是否已经解决, 如果还没有解决的话:int a[3][4];
int a[3][4]=3 ; // 不存在这样赋值。
// 按以上的定义,还需要注意数组a可用的行下标 的范围为02,**列下标**的范围为03。用a[3][4]表示元素显然超过了数组的范围。
// 区分:在定义数组时用的a[3][4] 和引用元素时的a[3][4]的区别。前者用a[3][4]来定义数组的维数和各维的大小,后者a[3][4] 中的3和4是数组元素的下标值,a[3][4]代表行序号为3、列序号为4的元素(行序号和列序号均从0起算)。
// 区别:单行或单列的数组,称为一维数组,多行多列的数组是二维数组。