若有以下的定义和语句: main() {int a[4][3], *p[4], j; for(j=0; j<4; j++) p[j]=a[j]; ┇ } 则能表示a数组元素的表达式是:
举一反三
- 关于二维数组的输入输出,以下说法正确的是()。 A: 以下程序段,将输入a的全部元素。int a[3][4],i,j;for(i=0;i<;2;i++) for(j=0;j<;4;j++) scanf("%d",&a[i][j]); B: 以下程序段,将输入a数组的前两行元素的数据。int a[3][4],i,j;for(i=0;i<;2;i++) for(j=0;j<;4;j++) scanf("%d",&a[i][j]); C: 以下程序段,将输出a数组的全部元素int a[3][4],i,j;for(i=0;i<;3;i++) { for(j=0;j<;4;j++) printf("%d ",a[i][j]);} D: 以下程序段,将输出a数组的全部元素int a[3][4],i,j;for(i=0;i<;3;i++) { for(j=0;j<;4;j++) printf("%d ",a[i][j]);printf("\n");}
- 若有定义int a[4][6];则能正确表示a数组中任一元素a[i][j](i,j均在有效范围内)地址的表达式( )。
- 若有说明:int a[3][4],s; ,则对数组a的元素引用错误的是____________ 。 A: s=0; for(i=0;i<3;i++) for(j=0;j<4;j++) s+=a[i][j]; B: s=0; for(j=0;j<4;j++) for(i=0;i<3;i++) s+=a[i][j]; C: s=0; for(i=0;i<4;i++) for(j=0;j<3;j++) s+=a[j][i]; D: s=0; for(i=0;i<3;i++) for(j=0;j<4;j++) s+=a[j][i];
- 以下程序的运行结果是【1】,其算法是【2】。 main() {int a[5]={9,6,8,3,-1},i,j,t,p; sort(a); for(i=0;i<=4;i++) printf("%3d",a[i]); } sort(int a[]) {int i,j,t,p; for(j=0;j<4;j++) {p=j; for(i=j;i<=4;i++) if(a[i] -1 3 6 8 9 选择法排序
- 在以下程序段中的空白处填写适当的表达式或语句,使程序能正确引用c数组元素。#include int main(){ int c[4][5],(*p)[5],i,j,d=0; for(i=0;i<4;i++) { for(j=0;j<5;j++) { c[i][j]=d; d++; printf(%4d,c[i][j]); } printf( ); } p=c; printf(%d,%d ,____________); return 0;}