方法一、
#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;
switchArray(array);
return 0;
}
void switchArray(int array[][3]){
int newArray[3][3];
int i,j;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
newArray[j]<i>=array<i>[j];
}
}
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("%d",newArray<i>[j]);
}
printf("\n");
}
}
方法二、用指针实现:
#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");
}
}
扩展资料:
用法:
1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
int main ()
{
void move(int *);
int a[3][3],i,j;
printf("please input shu zu a:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
move(&a[0][0]);
printf("now is:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
getchar();getchar();
}
void move(int *a)
{
int i,j,temp;
for(i=0;i<3;i++)
for(j=i;j<3;j++)
{
temp=*(a+3*i+j);
*(a+3*i+j)=*(a+3*j+i);
*(a+3*j+i)=temp;
}
}
main()
{
int i,j,a[3][3],t;
printf("please input the element\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("array a:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("\t%d",a[i][j]);
printf("\n");
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{if(i<j)
{t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;}
}
printf("array a:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("\t%d",a[i][j]);
printf("\n");
}
}
{
int temp[3][3];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
temp[j][i] = *p[i][j];
p = temp;
return p;
}
{
for(int j=0;j<=i;j++)
{
double t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}