用c语言编写程序,实现两个字符串的连接,不用strcat函数。
时间: 2024-02-24 21:59:19 浏览: 139
可以使用指针来实现两个字符串的连接,具体的实现方式如下:
```c
#include <stdio.h>
void my_strcat(char* dest, const char* src) {
while (*dest) {
dest++;
}
while (*src) {
*dest++ = *src++;
}
*dest = '\0';
}
int main() {
char str1[100] = "Hello, ";
char str2[] = "world!";
my_strcat(str1, str2);
printf("%s", str1);
return 0;
}
```
在这个程序中,我们定义了一个`my_strcat()`函数来实现字符串连接的功能。这个函数接收两个参数:目标字符串`dest`和源字符串`src`。首先,我们使用一个循环将`dest`指针移动到目标字符串的末尾。然后,我们使用另一个循环将`src`指针指向的字符逐一复制到`dest`指针指向的位置,直到`src`指向的字符为`\0`。最后,我们在`dest`指针指向的位置插入一个`\0`,表示字符串的结束。
在`main()`函数中,我们定义了两个字符串`str1`和`str2`,然后调用`my_strcat()`函数将它们连接起来。最后,我们使用`printf()`函数将连接后的字符串输出到控制台。
相关问题
不用strcat函数,编写实现字符串连接函数strcat的功能,将字符串t连接到字符串s的尾部。 c语言输出结果
下面是一个用C语言编写的字符串连接函数,它模仿了标准库函数strcat的功能,但不使用strcat函数:
```c
#include <stdio.h>
void my_strcat(char *s, const char *t) {
// 找到字符串s的末尾
while (*s != '\0') {
s++;
}
// 将字符串t的每个字符复制到字符串s的末尾
while (*t != '\0') {
*s = *t;
s++;
t++;
}
// 添加字符串结束符
*s = '\0';
}
int main() {
char s[100] = "Hello, ";
char t[] = "World!";
my_strcat(s, t);
printf("连接后的字符串: %s\n", s);
return 0;
}
```
在这个程序中:
1. `my_strcat`函数接受两个参数:一个目标字符串`s`和一个源字符串`t`。
2. 首先,函数通过循环找到字符串`s`的末尾。
3. 然后,函数通过另一个循环将字符串`t`中的每个字符复制到字符串`s`的末尾。
4. 最后,函数在字符串`s`的末尾添加字符串结束符`\0`。
5. 在`main`函数中,我们定义了两个字符串`s`和`t`,并调用`my_strcat`函数将`t`连接到`s`的末尾。
6. 最后,我们打印连接后的字符串。
运行这个程序将输出:
```
连接后的字符串: Hello, World!
```
使用C语言编写一个程序,将两个字符串连接起来,不要用strcat函数
好的,以下是使用C语言编写的将两个字符串连接起来的程序,不使用strcat函数:
```c
#include <stdio.h>
#include <string.h>
void my_strcat(char *s1, char *s2) {
while (*s1) {
s1++;
}
while (*s2) {
*s1 = *s2;
s1++;
s2++;
}
*s1 = '\0';
}
int main() {
char str1[50], str2[50];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
my_strcat(str1, str2);
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
在这个程序中,我们定义了一个名为`my_strcat`的函数,它接受两个指向字符数组的指针作为参数,将第二个字符串连接到第一个字符串的末尾。具体实现如下:
- 使用一个while循环找到第一个字符串的末尾。
- 然后使用另一个while循环将第二个字符串的每个字符复制到第一个字符串的末尾。
- 最后将第一个字符串的末尾设置为'\0'。
在主函数中,我们首先从用户那里获取两个字符串,然后调用`my_strcat`函数将它们连接起来,最后输出结果。
需要注意的是,这个程序假设两个字符串都是以'\0'结尾的。如果不是,可能会导致程序崩溃或产生意外结果。所以,实际应用中还需要对输入进行有效性判断。
阅读全文
相关推荐














