声明一个3×2的二维整型数组arr,其数组元素通过控制台输入。输出输入的数组,转置,输出转置后的数组。要求:1) 声明一个以指向数组元素的指针变量为参数的函数并在main函数中调用,该函数把arr中的元素转置;2) 不允许使用数组下标访问数组元素或为数组元素赋值。
2条回答 默认 最新
- CSDN专家-link 2022-03-06 05:29关注本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
#include <stdio.h> void trans(int *p,int m,int n,int *q) { for(int i=0;i<m*n;i++) { *(q+(i%n)*m+i/n) = *(p+i); } } int main() { int arr[3][2],*p = (int*)arr; int tarr[2][3],*q = (int*)tarr; int i,j; for(i=0;i<6;i++) scanf("%d",p+i); trans(p,3,2,q); for(i=1;i<=6;i++) { printf("%d ",*(q+i-1)); if(i%3==0) printf("\n"); } return 0; }
赞回复展开全部6条评论