#include <stdio.h> #include <string.h> // 字符串操作函数 :1 strcpy 2 memcpy 3 strncpy 4 memset 5 strcat 6 strlen 7 strcmp // 1 和 2 复制并且替换原变量,1 仅支持字符串; 3 替换字符串开头多少位; 4 将变量二的多少位添加到 变量一的尾部 // 5 字符串末尾追加; 6 计算字符串长度; 7 比较两个字符串,= > < 返回 0 1 -1 int zifu (char aa[],char bb[]) { char str1[99]; memcpy(str1,aa,strlen(aa)); printf("memcpy 函数 将 aa 数组字符串, 长度为 aa 大小 到 str1 得到的值:%s \n \n", str1); // 数组不能直接赋值,只能 cpy 复制。 strcpy 只能复制字符串 遇到符"\0" 结束 。 // memcpy 可以复制任何内容: 如数组。 包含“\0” 可以复制 strncpy(str1,bb,2); printf("strncpy 函数 将 bb 中的 前两位追加到 str1 末尾,值:%s \n \n", str1); memset(str1,aa, strlen(aa)); printf("memset 替换前面 aa 变量数 位为:%s \n aa 的值: %s \n ",str1,aa); char str2[40]; char str3[99]; strcpy (str3,"copy successful"); printf(" strcpy 复制并且覆盖目前 str3 的值: %s \n ",str3); strcpy (str3,str1); printf ("str1: %s\nstr2: %s\n 覆盖函数 strcpy 用str1覆盖后 str3: %s\n",str1,str2,str3); return 0; } void main() { char a[20]="aaaaaaaaaa" ; char b[20]="bbbbbbbbb"; zifu(a,b); // 先定义参数,按照顺序传值给函数并且执行 }