代码展示:
#include<stdio.h>#include<stddef.h>//模拟strncpychar*my_strncpy(char*dest,char*src,size_t n){char*start=src;while(n>0&&*src!='\0'){*dest=*src;dest++;src++;n--;}while(n>0){*dest='\0';dest++;n--;}returnstart;}//测试intmain(){char arr1[20]="xxxxxxxxxx";char arr2[]="abcdef";//测试源串长度<nmy_strncpy(arr1,arr2,8);printf("结果为%s\n",arr1);//测试源串长度>nchar arr3[]="1234567890";my_strncpy(arr3,arr2,3);printf("结果为%s\n",arr3);return0;};测试结果:
总结:
本题主要用到指针操作,需要考虑指针移动和指针类型等细节。
坚持编程,我一直在路上!