因本人才疏学浅,见识浅薄,有不当之处望指正,谢谢!
不用strcat,把两个字符串连接起来
功能:将字符数组2或者字符串常量连接到字符串1的后面
注意:连接的结果放在字符数组1中,因此,字符数组1的长度必须足够大。在连接时,字符数组1原来的结束标志’\0’会被删除,只在连接后的新字符串最后保留一个’\0’;
思路:通过strlen知道字符串1的实际长度(不包含’\0’);
删除’\0’,通过循环将字符串2放到字符串1后面
(温馨提示:可以左右移动)
#include <stdio.h>
#include <string.h>
#define N 200
#define M 100
int main(void)
{
char str1[N],str2[M];
int cou1 = 0,cou2 = 0;// 初始化下标
printf("input string1:\n");// 提示输入字符串1
gets(str1);// 输入字符串1
printf("input string2:\n");// 提示输入字符串2
gets(str2);// 输入字符串2
for(cou1 = strlen(str1); str2[cou2] != '\0'; cou2++)
str1[cou1 ++] = str2[cou2];
str1[cou1] = '\0';// 对处理过的字符串加上结束标志'\0',没有'\0'就是字符数组不是字符串
printf("new string is:\n%s\n",str1);// 输出处理过的字符串
return 0;
}
附图: