c语言已知字符串1为:"fine!", 字符串2为:"How are you?",试将这两个字符串连接成一个字符串,要求长的字符串放到前面。试编程输出这个字符串和这三个字符串的长度。
时间: 2023-07-15 22:11:48 浏览: 43
以下是使用C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "fine!";
char str2[] = "How are you?";
char result[20];
if (strlen(str1) >= strlen(str2)) {
strcpy(result, str1);
strcat(result, str2);
} else {
strcpy(result, str2);
strcat(result, str1);
}
printf("连接后的字符串为: %s\n", result);
printf("字符串1的长度为: %d\n", strlen(str1));
printf("字符串2的长度为: %d\n", strlen(str2));
printf("连接后的字符串长度为: %d\n", strlen(result));
return 0;
}
```
输出结果为:
```
连接后的字符串为: How are you?fine!
字符串1的长度为: 5
字符串2的长度为: 12
连接后的字符串长度为: 17
```
相关问题
用C语言编程:连接字符串 写一个函数,将两个字符串连接
下面是一个用C语言编写的将两个字符串连接的函数示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* str_concat(const char* str1, const char* str2) {
size_t len1 = strlen(str1);
size_t len2 = strlen(str2);
char* result = (char*) malloc(len1 + len2 + 1);
if (result == NULL) {
fprintf(stderr, "Error: Failed to allocate memory!\n");
return NULL;
}
strcpy(result, str1);
strcat(result, str2);
return result;
}
int main() {
char* str1 = "Hello, ";
char* str2 = "world!";
char* result = str_concat(str1, str2);
printf("%s\n", result);
free(result);
return 0;
}
```
该函数的实现方式是先计算两个字符串的长度,然后根据总长度申请一块内存,最后通过 `strcpy` 和 `strcat` 将两个字符串拼接起来。在拼接完成后,需要手动释放内存以避免内存泄漏。
用C语言编写:输入两个字符串,实现将字符串2插入到字符串1 的指定位置
以下是用C语言实现将字符串2插入到字符串1的指定位置的程序:
```c
#include <stdio.h>
#include <string.h>
void insertString(char s1[], char s2[], int pos) {
int len1 = strlen(s1);
int len2 = strlen(s2);
int i;
for (i = len1 - 1; i >= pos; i--) {
s1[i + len2] = s1[i];
}
for (i = 0; i < len2; i++) {
s1[pos + i] = s2[i];
}
s1[len1 + len2] = '\0';
}
int main() {
char s1[100], s2[100];
int pos;
printf("Enter string 1: ");
scanf("%s", s1);
printf("Enter string 2: ");
scanf("%s", s2);
printf("Enter position to insert: ");
scanf("%d", &pos);
insertString(s1, s2, pos);
printf("Resulting string: %s\n", s1);
return 0;
}
```
该程序首先定义了一个名为 `insertString` 的函数,该函数接受三个参数:字符串1、字符串2和要插入的位置。该函数使用两个循环,第一个循环向后移动字符串1中的字符,以便为字符串2腾出空间。第二个循环将字符串2插入到字符串1的指定位置。最后,该函数将新字符串的末尾设置为null终止符。
在 `main` 函数中,首先要求用户输入两个字符串和要插入的位置。然后,调用 `insertString` 函数,并将结果打印到屏幕上。
例如,如果用户输入字符串1为 "hello",字符串2为 "world",要插入的位置为3,则输出为 "helworldlo"。