用指针处理:编写一函数,将一个3*3的整型二维数组转置,即行列互换

 我来答
问明6E
高粉答主

2019-05-28 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.9万
展开全部

#include<stdio.h>

void main(){

void switchArray(int[3][3]);

int array[][3]={{1,2,3},{4,5,6},{7,8,9}};

int i,j;

int(*pToArray)[3];

pToArray=array;

switchArray(pToArray);

return 0;

}

void switchArray(int array[][3]){

int newArray[3][3],(*pTArr)[3],(*pTNewArr)[3];

int i,j;

pTArr=array;

pTNewArr=newArray;

for(i=0;i<3;i++){

for(j=0;j<3;j++){

*(*(pTNewArr+j)+i)=*(*(pTArr+i)+j);

}

}

for(i=0;i<3;i++){

for(j=0;j<3;j++){

printf("%d",*(*(pTNewArr+i)+j));

}

printf("\n");

}

}

扩展资料:

int();指针的初始化

对指针进行初始化或赋值只能使用以下四种类型的值:

1.0值常量表达式,例如,在编译时可获得0值的整型const对象或字面值常量0。

2.类型匹配的对象的地址。

3.另一对象末的下一地址。

4.同类型的另一个有效指针。

把int型变量赋给指针是非法的,尽管此int型变量的值可能为0。但允

许把数值0或在编译时可获得0值的const量赋给指针:

int ival;

int zero=0;

const int c_ival=0;

int*pi=ival;//error:pi initialized from int value of ival

pi=zero;//error:pi assigned int value of zero

pi=c_ival;//ok:c_ival is a const with compile-time value of 0

pi=0;//ok:directly initialize to literal constant 0

除了使用数值0或在编译时值为0的const量外,还可以使用C++语言从C语言中继承下来的预处理器变量NULL,该变量在cstdlib头文件中定义,其值为0。如果在代码中使用了这个预处理器变量,则编译时会自动被数值0替换。因此,把指针初始化为NULL等效于初始化为0值:

//cstdlib#defines NULL to 0

int*pi=NULL;//ok:equivalent to int*pi=0;

White_MouseYBZ
推荐于2016-07-11 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6611万
展开全部
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void myfun(int (*p)[3]){
int i,j,t;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++){
t=p[i][j];
p[i][j]=p[j][i];
p[j][i]=t;
}
}
int main(void){
    int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},i,j;
    myfun(a);
    for(i=0;i<3;i++){
        for(j=0;j<3;printf("%d ",a[i][j++]));
        printf("\n");
    }
    return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式