若在C程序中有以下说明和语句,则下面表示的都是对数组元素的正确引用的是(其中0<=i<4, 0<=j<3)
int main( )
{
int a[4][3]={0},(*ptr)[3],i,j;
ptr=a;
}
int main( )
{
int a[4][3]={0},(*ptr)[3],i,j;
ptr=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[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];
- 以下程序是求矩阵 a,b 的和,结果存入矩阵 c 中并按矩阵形式输出。请填空。 main() { int a[3][4]={{3,-2,7,5,},{1,0,4,-3},{6,8,0,2}}; int b[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,2}}; int i,j,c[3][4]; for(i=0;i<3;i++) for(j=0;j<4;j++) c[i][j]=____; for(i=0;i<3;i++) { for(j=0;j<4;j++) printf(“%3d”,c[i][j]); ____; } }
- 中国大学MOOC: 以下程序是求矩阵a,b的和,结果存入矩阵c中并按矩阵形式输出。请填空。#include int main(){int a[3][4]={{3,-2,7,5},{1,0,4,-3},{6,8,0,2}}; int b[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,2}}; int i,j,c[3][4]; for(i=0;i<3;i++) for(j=0;j<4;j++) c[i][j]= a[i][j]+b[i][j]; for(i=0;i<3;i++) {for(j=0; ;j++) printf(%3d,c[i][j]); printf( );} return 0;}
- 若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中0<=i<3,0<=j<4)值的 正确引用为( )。
