1.字符串连接
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *My_strcat(char *dest,char *src)
{
int i;
for(i=0;dest[i];i++);
for(int j=0;src[j];j++)
{
dest[i++]=src[j];
}
dest[i]='\0';
return dest;
}
int main(int argc, const char *argv[])
{
char arr1[20]="Goodboy";
char arr2[20]="love you";
char *p1=arr1;
char *p2=arr2;
printf("连接后\n");
char *q=My_strcat(p1,p2);
printf("%s\n",q);
return 0;
}
2.字符串拷贝
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *My_strcpy(char *dest,char *src)
{
int i;
for(i=0;src[i];i++)
{
dest[i]=src[i];
}
dest[i]='\0';
return dest;
}
int main(int argc, const char *argv[])
{
char str1[20]="Goodman";
char str2[20]="Girl";
char *p1=str1;
char *p2=str2;
printf("拷贝后");
char *q=My_strcpy(p1,p2);
printf("%s\n",q);
return 0;
}
3,杨辉三角
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void YangHui(int n,int(*p)[n])
{
for(int i=0;i<n;i++)
{
for(int k=n;k>=i;k--)
{
printf(" ");
}
for(int j=0;j<=i;j++)
{
if(i==j||j==0)
{
p[i][j]=1;
}
else
{
*(*(p+i)+j)=*(*(p+i-1)+j)+*(*(p+i-1)+j-1);
}
printf("%d ",*(p[i]+j));
}
printf("\n");
}
}
int main(int argc, const char *argv[])
{
//实现杨辉三角
int n;
printf("请输入需要几列:");
scanf("%d",&n);
int arr[n][n];
int (*p)[n]=arr;
YangHui(n,*p);
return 0;
}