用c语言,从键盘输入两个串,实现串的连接操作
时间: 2024-12-02 12:21:35 浏览: 30
在C语言中,你可以使用`gets()`函数或者`fgets()`函数从键盘获取字符串输入,然后使用`strcat()`函数将这两个字符串连接起来。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100], result[200]; // 假设每个字符串最多99个字符,结果字符串总长度为198
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin); // 使用fgets防止换行符污染输入
str1[strcspn(str1, "\n")] = '\0'; // 去除fgets添加的换行符
printf("请输入第二个字符串: ");
fgets(str2, sizeof(str2), stdin);
str2[strcspn(str2, "\n")] = '\0';
strcat(result, str1); // 连接str1到result
strcat(result, str2); // 然后再连接str2到result
printf("两个字符串连接的结果是: %s", result);
return 0;
}
```
在这个例子中,用户会被提示输入两个字符串,然后程序会将它们拼接到`result`数组中,并打印出最终的结果。
相关问题
用c语言实现利用定长顺序存储完成: (1)从键盘输入一个串,求串的长度 (2)从键盘输入两个串,实现串的连接操作 (3)从键盘输入一个串,求从该串第i个字符开始的j个子串 选做: (1)从键盘输入两个串,实现两个串的比较 (2)从键盘输入一个串,删除该串中指定字符
在C语言中,我们可以使用`stdio.h`库中的函数来实现上述功能:
(1) 求字符串长度:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100]; // 假设我们限制字符串长度不超过99
printf("请输入一个字符串: ");
fgets(str, sizeof(str), stdin); // 使用fgets获取用户输入,包括换行符
int len = strlen(str) - 1; // 减去结束符'\0'
printf("字符串长度为: %d\n", len);
return 0;
}
```
(2) 连接两个字符串:
```c
#include <stdio.h>
#include <string.h>
void concat_strings(char* str1, char* str2) {
int len1 = strlen(str1);
strcat(str1 + len1, str2); // 直接拼接到第一个字符串后面
}
int main() {
char str1[100], str2[100];
// 分别输入两个字符串并保存
// 调用concat_strings函数将str2连接到str1末尾
// ...
return 0;
}
```
(3) 提取子串:
```c
#include <stdio.h>
#include <string.h>
char* get_substring(const char* str, int start, int length) {
if (start < 0 || length <= 0 || start > strlen(str)) {
return NULL;
}
char sub_str[length];
strncpy(sub_str, &str[start], length);
sub_str[length] = '\0';
return sub_str;
}
int main() {
char str[100];
int i, j;
// 输入主字符串及起始位置和长度
// 调用get_substring得到子串
// ...
return 0;
}
```
选做:
(4) 两字符串比较:
```c
int compare_strings(const char* str1, const char* str2) {
while (*str1 && *str2 && *str1 == *str2) {
str1++;
str2++;
}
return *str1 - *str2;
}
// 在main函数中调用这个函数并判断返回值
```
(5) 删除指定字符:
```c
void remove_char(char* str, char ch) {
int index = 0;
while (str[index]) {
if (str[index] != ch) {
str[index + 1] = str[index];
}
index++;
}
str[index] = '\0'; // 确保字符串结束
}
// 在main函数中输入原始字符串和要删除的字符
```
记得在主函数中适当处理用户输入,并处理可能出现的边界情况。以上代码示例省略了错误检查和用户交互的部分,实际应用时需要完善。
c语言 从键盘输入两个字符串,将它们连接成一个字符串。
可以使用C语言中的字符串函数`strcat()`来将两个字符串连接成一个字符串,示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
printf("请输入第一个字符串:");
gets(str1); // 从键盘读取字符串1
printf("请输入第二个字符串:");
gets(str2); // 从键盘读取字符串2
strcat(str1, str2); // 将字符串2连接到字符串1的末尾
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
代码中使用了`gets()`函数从键盘读取输入的两个字符串,然后使用`strcat()`函数将两个字符串连接成一个字符串,最后输出连接后的字符串。需要注意的是,使用`gets()`函数存在安全隐患,建议使用`fgets()`函数代替。
阅读全文