c++实现编一程序,将键盘输入的两个字符串连接起来。结果取代第一个字符串。要求 1、用字符数组,不用strcat 函数; 2、用C 标准中的strcat 函数; 3、用string 方法定义字符串变量; 4、对这三种方法进行比较。
时间: 2023-05-10 14:55:36 浏览: 412
C++实现将一个字符串中的字符替换成另一个字符串的方法
1、用字符数组,不用strcat函数:
```c
#include <stdio.h>
int main() {
char str1[100], str2[100];
int i, j;
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
// 求出第一个字符串的长度
for (i = 0; str1[i] != '\0'; i++);
// 将第二个字符串连接到第一个字符串后面
for (j = 0; str2[j] != '\0'; j++) {
str1[i + j] = str2[j];
}
// 将第一个字符串的结束符号'\0'移到连接后的字符串的末尾
str1[i + j] = '\0';
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
2、用C标准中的strcat函数:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
// 将第二个字符串连接到第一个字符串后面
strcat(str1, str2);
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
3、用string方法定义字符串变量:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
char *result;
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
// 将第二个字符串连接到第一个字符串后面
result = strcat(str1, str2);
printf("连接后的字符串为:%s\n", result);
return 0;
}
```
4、对这三种方法进行比较:
第一种方法需要手动遍历字符串数组,将第二个字符串连接到第一个字符串后面,比较麻烦,但是不需要调用库函数,速度相对较快。
第二种方法使用了C标准库中的strcat函数,可以直接将第二个字符串连接到第一个字符串后面,比较方便,但是需要调用库函数,速度相对较慢。
第三种方法使用了string方法定义字符串变量,也是调用了库函数,速度相对较慢,但是可以直接将第二个字符串连接到第一个字符串后面,比较方便,而且可以使用指针来返回连接后的字符串,比较灵活。
阅读全文