1、比较两个字符串大小
#include <stdio.h>
int main()
{
unsigned char arr[]={"fghij"};
unsigned char brr[]={"abcde"};
unsigned char *p=arr,*addr=brr;
int temp=0;
while((*p!='\0')&&(*addr!='\0'))
{
temp=temp+*p-*addr;
*p++;*addr++;
}
printf("%d\n",temp);
if(temp>0)
{
printf("arr>brr");
}
else if(temp<0)
{
printf("arr<brr");
}
else
{
printf("arr=brr");
}
}
2、字符串拼接
#include <stdio.h>
#include <string.h>
int main()
{
char arr[100],brr[100];
char i=0,j=0,n=0,*p=arr,*addr=brr;
printf("请输入第一个字符串(以回车结束):\n");
scanf("%s",arr);
printf("请输入第二个字符串(以回车结束):\n");
scanf("%s",brr);
n=strlen(arr);
for(i=0;i<n;i++)
{
*(p+i+n)=*(addr+i);
}
printf("拼接之后的字符串为:%s\n",arr);
}
3、字符串逆置
#include <stdio.h>
#include <string.h>
int main()
{
char arr[100],i,n,j;
printf("请输入一串字符(以回车结束):");
scanf("%s",arr);
char *p=arr,temp;
n=strlen(arr);
j=n/2;
n--;
for(i=0;i<j;i++)
{
temp=*(p+i);
*(p+i)=*(p+n-i);
*(p+n-i)=temp;
}
printf("字符串逆置后为:%s\n",arr);
}
4、指针杨辉三角
#include <stdio.h>
int main()
{
int arr[10][10];
int (*p)[10]=arr;
char i,j,n;
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
{
n=i-j;
if((i==j)||(n==i))
{
*(*(p+i)+j)=1;
printf("%d ",*(*(p+i)+j));
}
else
{
*(*(p+i)+j)=(*(*(p+i-1)+j-1))+(*(*(p+i-1)+j));
printf("%d ",*(*(p+i)+j));
}
}
printf("\n");
}
}