C语言字符串操作示例:strcat、strcpy、strlen函数详解
C语言字符串操作示例:strcat、strcpy、strlen函数详解
以下代码片段展示了C语言中strcat、strcpy、strlen函数的使用方法,并解释了每个步骤的执行过程。
char p[20]={'e','a','c','j'},q[]="asdf",r[]="zxcvb";
strcat(p,r);
strcpy(p+strlen(q),q);
printf("%d\n",strlen(p));
程序功能解释:
- 声明一个字符数组
p,长度为20,并初始化为{'e','a','c','j'}; - 声明两个字符数组
q和r,分别初始化为'asdf'和'zxcvb'; - 使用
strcat函数将r连接到p的末尾,此时p变为'eacjzxcvb'; - 使用
strcpy函数将q复制到p的末尾,由于p+strlen(q)指向p的末尾,所以此时p变为'eacjzxcvbasdf'; - 使用
strlen函数计算p的长度并打印结果,结果为14。
执行每一步时三个字符串的字符个数和占用空间数:
- 字符数组
p的字符个数为14,占用空间数为20。 - 字符数组
q的字符个数为4,占用空间数为5(包括结尾的'\0')。 - 字符数组
r的字符个数为5,占用空间数为6(包括结尾的'\0')。
使用strlen函数复制字符串数组到字符数组会将最后的'\0'也复制过去。
strcpy(p+strlen(q),q)中的p+strlen(q)表示p的起始地址加上q的长度,即指向p中已有字符串的末尾。这一步的意思是将q复制到p的已有字符串的末尾。
总结
本示例程序展示了C语言中strcat、strcpy、strlen函数的使用方法,并解释了p+strlen(q)的含义以及strlen函数对字符串长度的计算方式。通过分析代码和解释每个步骤的执行过程,可以帮助读者更好地理解这些函数的用法,以及如何使用它们进行字符串操作。
原文地址: https://www.cveoy.top/t/topic/cQ96 著作权归作者所有。请勿转载和采集!