• 2022-07-01
    若有int a[5][5];则*(a+i)+j是a[i][j]的地址,*(a+i)等价于a[i]等价于&a[i][0][/i][/i][/i]
  • 内容

    • 0

      #include &#91;stdio.h&#93;int main() { int a&#91;3&#93;&#91;3&#93;,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) a[i]&#91;j&#93;=3*i+j; for(i=0;i<3;i++) printf("%d ",a[i]&#91;1&#93;); return 0;}[/i][/i]

    • 1

      若有int a&#91;2&#93;&#91;3&#93;,则对a数组的i行j列元素地址的正确引用为______. A: *(a[i]+j) B: *(a+j)+i C: a[j]+i D: *(a+i) + j

    • 2

      以下程序执行的结果是( )。#include <;stdio.h>;main(){ int i,j,row=0,col=0,m;static int a&#91;3&#93;&#91;3&#93;={1,-2,0,4,-5,6,2,4};m=a&#91;0&#93;&#91;0&#93;;for(i=0;i<;3;i++)for(j=0;j<;3;j++)if(a[i]&#91;j&#93;<;m){m=a[i]&#91;j&#93;;row=i;col=j;}printf("(%d,%d)=%d\n",row,col,m);}[/i][/i]

    • 3

      下面 rotate 函数的功能是:将 n 行 n 列的矩阵a 转置#define N 4 void rotate(int a&#91;&#93;&#91;N&#93;) { int i,j,t; for(i=0;i 答案: (1) j (2) a[i]&#91;j&#93;=a&#91;j&#93;[i] 答案解析: 难易: 中 知识点:[/i][/i]

    • 4

      下列代码段执行后的结果是 int&#91;&#93; a= {6,5,4,1,2,3}; int i,j; for(i=0,j=5;i<j;i++,j--){ a[i]= a&#91;j&#93; * a&#91;j&#93;; } for(i=0;i<6;i++){ System. out.print(a[i] +" "); }[/i][/i]