用c语言做一个代码,连接两个字符串(不用strcat函数)。输入形式:输入两行字符串。输出形式:连接两个字符串。
时间: 2024-05-11 13:15:11 浏览: 68
您好!可以通过以下程序实现连接两个字符串:
```
#include<stdio.h>
#include<string.h>
int main(){
char str1[100], str2[100], res[200];
int i, j, len1, len2;
printf("请输入第一个字符串:");
fgets(str1, sizeof(str1), stdin);
printf("请输入第二个字符串:");
fgets(str2, sizeof(str2), stdin);
len1 = strlen(str1);
len2 = strlen(str2);
for (i = 0; i < len1 - 1; i++) {
res[i] = str1[i];
}
for (j = 0; j < len2; j++) {
res[i + j] = str2[j];
}
res[i + j] = '\0';
printf("连接后的字符串为:%s", res);
return 0;
}
```
这个程序使用 fgets() 函数从标准输入获取两个字符串,然后使用循环将它们连接在一起,最后输出连接后的结果。希望这个程序对您有所帮助!
相关问题
用C语言编写程序,实现两字符串的连接,要求程序中不能使用库函数strcat。 【输入形式】 第一行输入一个字符串,以回车结束。 第二行输入一个字符串,以回车结束。 【输出形式】 输出连接后的字符串。 【样例输入】 I am happy 【样例输出】 I am happy
好的,我可以帮你解决这个问题。以下是一个用 C 语言编写的实现两个字符串连接的程序,其中不使用库函数 strcat:
```c
#include <stdio.h>
#include <string.h>
void my_strcat(char* dest, char* src) {
while (*dest) {
dest++;
}
while (*src) {
*dest = *src;
dest++;
src++;
}
*dest = '\0';
}
int main() {
char str1[100], str2[100];
fgets(str1, sizeof(str1), stdin);
fgets(str2, sizeof(str2), stdin);
str1[strcspn(str1, "\n")] = '\0';
str2[strcspn(str2, "\n")] = '\0';
my_strcat(str1, str2);
printf("%s\n", str1);
return 0;
}
```
程序首先定义了一个自定义函数 my_strcat,该函数将给定的两个字符串连接在一起,并将结果保存在目标字符串中。该函数首先寻找目标字符串的结尾,然后将源字符串中的所有字符复制到目标字符串的末尾,并在最后添加一个字符串结束符。
主函数中,首先使用 fgets 函数读取两个输入字符串,然后使用 strcspn 函数去掉每个字符串的末尾的换行符。接着调用自定义函数 my_strcat 连接两个字符串,并输出结果。
希望这个程序能够解决你的问题。
用c语言写一个输入两个字符串并用char函数定义后将字符串连接的代码
下面是一个示例代码,可以让用户输入两个字符串,然后使用char函数将它们连接起来:
```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); // 使用 strcat 函数将两个字符串连接起来
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
在上述代码中,我们首先定义了两个字符数组 `str1` 和 `str2`,用于存储用户输入的两个字符串。然后,使用 `scanf` 函数分别读取用户输入的两个字符串。
接下来,我们使用 `strcat` 函数将两个字符串连接起来,并将结果保存在 `str1` 中。最后,通过 `printf` 函数将连接后的字符串输出到屏幕上。
阅读全文