1、用指针连接两个字符。
#include <stdio.h>
#include <string.h>
//#define N 3
void main()
{
char a[3][20]={"","",""};
char *p[3];
int i;
for (i=0;i<2;i++)
{
printf("第%d字符串",i+1);
scanf("%s",&a[i]);
p[i]=a[i];
}//将指针指向三个字符串
p[2]=a[2];

for (i=0;i<2;i++)
{
strcat(p[2],p[i]);//分别将第1、2个字符串连接到第三字符串上
}
for (i=0;i<3;i++)
{
printf("%s\n",*(p+i));//输出三个字符串
}
}
2、用指针转置一组字符串
#include <stdio.h>
#include <string.h>
#define M 5
void main()
{
char ch[M][10];
int i;
char *p[M];
for (i=0;i<M;i++)
{
printf("第%d个字符串:",i+1);
scanf("%s",ch[i]);
p[i]=ch[i];
}
for (i=(M-1);i>=0;i--)
{
printf("%s\n",*(p+i));
}
}
3、矩阵之和
#include <stdio.h>
void main()
{
int a[3][3]={1,2,3,4,5,6};
int b[3][3]={6,5,4,3,2,1};
int (*p)[3];
int (*q)[3];
int i,j;
p=a;
q=b;
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
printf("%d\t",(*(*(p+i)+j))+(*(*(q+i)+j)));
}
putchar('\n');
}
}