以下程序输出正确的是_______ amovep(int *p,int (*a)[3],int n) { int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5}, {2,4,6}}; p=(int*)mallox(100) amovep)p,a,3); printf("%d%d\n",p[2],p[5]);free(p) }[/i]
A: 56
B: 25
C: 34
D: 程序错误
A: 56
B: 25
C: 34
D: 程序错误
举一反三
- 有以下程序int main(){int a[3][3],*p,i;p=a[0][0];for(i=0;i9;i++) p[i]=i+1;printf(%d\n,a[1][2]);return 0;}程序运行后的输出结果是( )。[/i] A: 3 B: 6 C: 2 D: 9
- 以下程序的输出结果是____。Amovep(int p, int (a)[3],int n){ int i, j; for( i=0;i 答案: (1) A 答案解析: 难易: 中 知识点:
- 有以下程序: main() { int a[3][3],*p,i; p=&a[0][0]; for (i=0;i<9;i++)p[i]=i+1; printf("%d\n",a[1][2]); } 程序运行后的输出结果是[/i] A: 3 B: 6 C: 9 D: 2
- #include [stdio.h]int main() { int a[3][3],i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) a[i][j]=3*i+j; for(i=0;i<3;i++) printf("%d ",a[i][1]); return 0;}[/i][/i]
- 下列程序的输出结果是( )。 #include<stdio.h> main() int a[2][3]=1, 2, 3, 4, 5, 6, (*p)[3], i; p=a; for(i=0; i<3; i++) if(i<2) p[1][i]=p[1][i]=1; else p[1][i]=1; printf("%d\n", a[0][1]+a[1][1]+a[1][2]);[/i][/i][/i] A: 8 B: 7 C: 12 D: 9