因本人才疏学浅,见识浅薄,有不当之处望指正,谢谢!
这次用调用函数的方法,连接两个字符串
在被调函数中可以说明形参数组的大小,也可以不说明形参数组的大小
例如cat_str(char str1[],char str2[])也可以写成cat_str(char str1[N],char str2[M]).
实际上指定形参数组的大小没有什么用。
c编译系统对形参数组的大小不做检查
将实参数组的首地址传递给对应的形参数组
// 使用调用函数的方法,将两个字符串连接起来
#include <stdio.h>
#define N 200
#define M 100
void cat_str(char str1[],char str2[]); // 字符数组作为被调函数的形参
int main(void)
{
char str1[N],str2[M];
printf("input string1:\n"); // 提示输入字符串1
gets(str1); // 输入字符串1
printf("input string2:\n"); // 提示输入字符串2
gets(str2); // 输入字符串2
cat_str(str1,str2); // 调用函数进行字符串的连接
printf("new string is:\n%s\n",str1);// 输出连接后的字符串
return 0;
}
void cat_str(char str1[],char str2[])
{
int cou1 = 0, cou2 = 0;
while(str1[cou1] != '\0') // 用while来测出第一个字符串的长度
cou1++;
for(cou1; str1[cou2] != '\0'; cou2++)
str1[cou1++] = str2[cou2];
str1[cou1] = '\0'; // 对处理过的字符串加上结束标志'\0',没有'\0'就是字符数组不是字符串
}
附图: