用C语言写出输入两个字符串s1,s2,将s2的内容复制到s1的末尾,中间空一格 s1: I am s2: Yuxuan Chen. 最后s1会变成I am Yuxuan Chen.
时间: 2024-05-13 22:19:00 浏览: 97
代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s1[100] = "I am";
char s2[100] = "Yuxuan Chen";
strcat(s1, " ");
strcat(s1, s2);
printf("%s", s1);
return 0;
}
```
输出结果为:I am Yuxuan Chen
相关问题
从键盘输入两个字符串s1,s2并将s2中的大写字母连接到字符串s1的末尾,并输出连接后的结果用c语言写
#include <stdio.h>
#include <string.h>
int main()
{
char s1[100], s2[100];
int i, j;
printf("Enter string s1: ");
gets(s1);
printf("Enter string s2: ");
gets(s2);
j = strlen(s1); // get the length of s1
// copy uppercase letters from s2 to the end of s1
for (i = 0; s2[i] != '\0'; i++)
{
if (s2[i] >= 'A' && s2[i] <= 'Z')
{
s1[j] = s2[i];
j++;
}
}
s1[j] = '\0'; // add null character to the end of s1
printf("Resulting string: %s", s1);
return 0;
}
c语言:对于一个字符串来说,定义一次循环移位操作为:将字符串 的第一个字符移动到末尾形成新的字符串。现给定两个字符串 s1 和 s2(字符串长度不超过 30,且仅为数字和字母),两个字 符串分别
在C语言中,对两个字符串`s1`和`s2`执行循环移位操作,即将`s1`的第一个字符移到末尾,可以分为以下几个步骤:
1. **获取第一个字符**:
使用指针指向字符串的第一个字符,例如:`char first_char = s1[0];`
2. **删除第一个字符**:
如果字符串长度大于1,使用数组切片的方式将第一个字符从原位置删除,然后向左移动其他元素。例如,如果`s1`是一个动态分配的数组,可以做类似`memmove(&s1[1], &s1[0], strlen(s1) - 1);`的操作。
3. **将第一个字符添加到末尾**:
将`first_char`赋值回原来的位置,即`s1[strlen(s1)] = first_char;`
4. **处理`s2`字符串**:
对`s2`做同样的操作,如果它不是空字符串的话。
5. **拼接结果**:
最后,需要连接`s1`和`s2`。如果是固定大小的字符数组,可能会涉及到动态内存调整;如果它们是单独的变量,可以直接用`strcat`函数合并。
下面是一个简单的示例函数来完成这个操作:
```c
#include <string.h>
void circular_shift(char* s1, char* s2) {
if (strlen(s1) > 0) {
char temp = s1[0];
memmove(s1, s1 + 1, strlen(s1) - 1);
s1[strlen(s1)] = temp;
// 处理s2,如果有内容
if (strlen(s2) > 0) {
temp = s2[0];
memmove(s2, s2 + 1, strlen(s2) - 1);
s2[strlen(s2)] = temp;
}
}
}
```
阅读全文