若有说明语句"int a[4][10];"且 0<=i<4,0<=j<10,则对数组元素 a[i][j]的错误引用是*(a+i)[j]。[/i]
举一反三
- 若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是()。 (o<=i<4,0<=j<=10[/i] A: *(&a[0][0]+10*i+j) B: *(a+i)+j C: *(*(a+i)+j) D: *(a[i]+j)
- 以下程序的运行结果是 。 #include func(int array[][4],int m) {int i,j,k; k=0; for(i=0;i<3;i++) for(j=0;j<4;j++) if(array[i][j][/i]
- 若有int a[5][5];则*(a+i)+j是a[i][j]的地址,*(a+i)等价于a[i]等价于&a[i][0][/i][/i][/i]
- 下面 rotate 函数的功能是:将 n 行 n 列的矩阵a 转置#define N 4 void rotate(int a[][N]) { int i,j,t; for(i=0;i 答案: (1) j (2) a[i][j]=a[j][i] 答案解析: 难易: 中 知识点:[/i][/i]
- 写出以下程序运行结果。 #include<iomanip.h> const int N=3; int main() { int a[N][N]={{7,-5,3},{2,8,-6},{1,-4,-2}}; int b[N][N]={{3,6,-9},{2,-8,3},{5,-2,-7}}; int i,j,c[N][N]; for(j=0;j<N;i++) //计算矩阵C for(j=0;j<N;j++) c[i][j]=a[i][j]+b[i][j]; for(j=0;j<N;i++) //输出矩阵C { for(j=0;j<N;j++) cout<<setw(5)<<c[i][j]; cout<<endl; } }[/i][/i][/i][/i]