数组
#include<stdio.h>
void main()
{
int A[3][4]={
{1,2,3,4},
{1,2,1,2},
{-1,-2,1,2}
};
int B[][5]={
{1,2,3,4,5},
{-2,-1,-0,1,2},
{-1,-1,2,2,1},
{ -2,-1,0,1,2}
};
int C[3][5];
int i,j,k;
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
C[i][j]=0;
for(k=0;k<4;k++) C[i][j]+=A[i][k]*B[k][j];
}//end for
}//end for
for(i=0;i<3;i++)
{
for(j=0;j<5;j++) printf("%5d",C[i][j]);
printf("\n");
}//end for
}
运行结果
标题
#include<stdio.h>
#define N 5
int a[N][N];
void main()
{
int i,j,k,d; //d为对角线的编号
printf("\n");
for(k=d=1;d<=2*N-1;d++)
{
if(d<=N-1) //左下三角
if(d%2) //对角线的编号为奇数,从左上往右下
for(i=N-d,j=0;i<N;i++,j++) a[i][j]=k++;
else//对角线的编号为偶数,从右下往左上
for(i=N-1,j=d-1;i>=N-d;i--,j--) a[i][j]=k++;
else//d>=N,右上三角
if(d%2)
for(i=0,j=d-N;i<2*N-1-d;i++,j++) a[i][j]=k++;
else
for(i=2*N-1-d,j=N-1;i>=0;i--,j--) a[i][j]=k++;
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++) printf("%5d",a[i][j]);
printf("\n");
}
}
运行结果
标题
#include<stdio.h>
void main()
{
char *name[]={"tom","petter","bush","rose","john"};
int i,j;
for(i=0;i<5;i++)
printf("%s\n",name[i]);
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int *p[4]={a[0],a[1],a[2],a[3]};
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
printf("%4d",p[i][j]);
printf("\n");
}
}
运行结果
标题
#include<stdio.h>
void main()
{
int (*p)[4],i,j;
int a[3][4]={1,2,3,4, 5,6,7,8, 9,10,11,12};
p=a;
for(i-0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%4d",p[i][j]);//即+(*(p+i)+j)
printf("\n");
}
}
运行结果