用c语言自定义一个名为mystract的函数实现shrcat函数功能,并在主函数中调用该函数将输入的字符串按字符数组作为参数进行传参
时间: 2024-12-21 12:31:17 浏览: 5
写自定义函数stringLower()实现将一个字符串中所有大写字母变为小写字母。在主函数中输入一含有大写字母的字符串,调用该函数并输出改变后的字符串。
5星 · 资源好评率100%
在C语言中,由于`strcat()`是库函数,它直接操作的是字符数组,所以要自定义类似功能,我们可以创建一个接受两个字符数组作为参数并拼接它们的函数。这里假设我们叫这个函数`custom_concat()`. 请注意,C语言本身并不支持直接将字符串作为参数传递,所以我们需要手动处理。
```c
#include <stdio.h>
#include <string.h> // 使用strlen()获取字符串长度
// 自定义拼接字符串的函数
void custom_concat(char* dest, char* src) {
int i = strlen(dest); // 获取dest字符串长度
while (dest[i] != '\0') { // 如果dest不是空串
i++; // 移动到下一个位置
}
for (; *src != '\0'; src++) { // 将src中的每个字符复制到dest末尾
dest[i] = *src;
i++;
}
dest[i] = '\0'; // 结束字符串并添加终止符'\0'
}
int main() {
char str1[50], str2[50]; // 定义两个字符数组用于存储输入
printf("Enter the first string: ");
fgets(str1, sizeof(str1), stdin);
str1[strlen(str1)-1] = '\0'; // 去除fgets可能带来的换行符
printf("Enter the second string: ");
fgets(str2, sizeof(str2), stdin);
str2[strlen(str2)-1] = '\0'; // 同理去除换行符
// 调用自定义函数进行拼接
custom_concat(str1, str2);
printf("Concatenated string: %s\n", str1);
return 0;
}
```
阅读全文