可以帮我写一段代码吗?要求是c语言,现在传参进来两个char型数组。我许需要以两个数组中长度较短的为长度创建一个新的char数组
时间: 2024-10-25 13:11:58 浏览: 15
当然可以,这是一个简单的 C 语言函数示例,它接受两个 char 类型的数组作为参数,并创建一个新的数组,其长度等于这两个数组中较短的那个:
```c
#include <stdio.h>
#include <string.h>
void createShorterArray(char* arr1, char* arr2) {
size_t len1 = strlen(arr1);
size_t len2 = strlen(arr2);
if (len1 < len2) {
size_t newSize = len1;
} else {
size_t newSize = len2;
}
char shorterArr[newSize]; // 根据长度较小的数组分配空间
// 将较短数组的内容复制到新数组中
strncpy(shorterArr, arr1, newSize);
shorterArr[newSize] = '\0'; // 确保结束符'\0'存在
// 输出或返回新数组(这里仅用于演示)
printf("The shorter array is: %s\n", shorterArr);
}
int main() {
char array1[] = "Hello";
char array2[] = "World!";
createShorterArray(array1, array2);
return 0;
}
```
在这个例子中,`createShorterArray` 函数会创建一个名为 `shorterArr` 的新数组,其长度由 `array1` 决定。
阅读全文