单选题
有下列程序: main() {int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t; for(i=0;i<4;i++) for(j=0;j<3;j++) for(k=j+1;k<4;k++) ifi[a[j][i]>a[k][i]){t=aD[j][i];a[j][i]=a[k][i];a[k][i]=t;} /*按列排序*/ for(i=0;i<4;i++)printf("%d,",a[i][i]); } 程序运行后的输出结果是
【正确答案】
B
【答案解析】解析:最外层的for语句的自变量i是列下标,而内部的两个for语句的自变量i和k是行下标。所以由程序段可知,这是利用三重循环对二维数组a[4][4]的元素按列从小到大进行排序,所以最后排完序的结果为a[4][4]={{1,4,2,1},{3,6,3,2},{4,7,5,5},{8,8,6,7}},最后一个for语句的功能是输出数组a[4][4]主对角线上的元素,因而输出为1,6,5,7。